<interface dev='eth1'/>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
+ <mac address='52:54:00:00:00:00'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'>
<interface dev='eth1'/>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
+ <mac address='52:54:00:00:00:00'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'>
<interface dev='eth1'/>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
+ <mac address='52:54:00:00:00:00'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'>
<interface dev='eth1'/>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
+ <mac address='52:54:00:00:00:00'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'>
<uuid>eb486e5c-4df5-42ee-ae4a-ad8557998d00</uuid>
<forward mode='nat'/>
<bridge name='virbr0' stp='off' delay='1'/>
+ <mac address='52:54:00:00:00:00'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<tftp root='/var/lib/tftproot'/>
</ip>
if (!(def = virNetworkDefParse(NULL, inxml, xmlopt, false)))
goto fail;
+ if (networkValidateTests(def) < 0)
+ goto fail;
+
if (!(obj = virNetworkObjNew()))
goto fail;
}
VIR_TEST_MAIN_PRELOAD(mymain,
+ VIR_TEST_MOCK("virpci"),
+ VIR_TEST_MOCK("virrandom"),
VIR_TEST_MOCK("virdnsmasq"))
# include <gio/gio.h>
+# define LIBVIRT_BRIDGE_DRIVER_PRIV_H_ALLOW
+# include "bridge_driver_priv.h"
# include "bridge_driver_platform.h"
# include "virbuffer.h"
# include "virmock.h"
if (!(def = virNetworkDefParse(NULL, xml, NULL, false)))
return -1;
+ if (networkValidateTests(def) < 0)
+ return -1;
+
if (networkAddFirewallRules(def, backend, NULL) < 0)
return -1;
* virGDBusIsServiceRegistered().
*/
-VIR_TEST_MAIN_PRELOAD(mymain, VIR_TEST_MOCK("virgdbus"),
+VIR_TEST_MAIN_PRELOAD(mymain,
+ VIR_TEST_MOCK("virpci"),
+ VIR_TEST_MOCK("virrandom"),
+ VIR_TEST_MOCK("virgdbus"),
VIR_TEST_MOCK("virfirewall"))
#else /* ! defined (__linux__) */
<interface dev='eth1'/>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
+ <mac address='52:54:00:00:00:00'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'/>
<interface dev='eth0'/>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
+ <mac address='52:54:00:00:00:00'/>
<dns forwardPlainNames='yes'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
</ip>
<uuid>81ff0d90-c91e-6742-64da-4a736edb9a9c</uuid>
<forward mode='nat'/>
<bridge name='virbr0' stp='on' delay='0'/>
+ <mac address='52:54:00:00:00:00'/>
<dns>
<forwarder domain='example.com' addr='192.168.1.1'/>
</dns>
<interface dev='eth0'/>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
+ <mac address='52:54:00:00:00:00'/>
<dns>
<forwarder addr='8.8.8.8'/>
<forwarder addr='8.8.4.4'/>
<interface dev='eth0'/>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
+ <mac address='52:54:00:00:00:00'/>
<dns forwardPlainNames='no'>
<host ip='192.168.122.122'>
<hostname>pudding</hostname>
<interface dev='eth1'/>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
+ <mac address='52:54:00:00:00:00'/>
<dns>
<srv service='name' protocol='tcp'/>
</dns>
<interface dev='eth1'/>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
+ <mac address='52:54:00:00:00:00'/>
<dns>
<srv service='name' protocol='tcp' domain='test-domain-name' target='.' port='1024' priority='10' weight='10'/>
</dns>
<interface dev='eth1'/>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
+ <mac address='52:54:00:00:00:00'/>
<dns>
<srv service='name' protocol='tcp' domain='test-domain-name' target='.' port='1024' priority='10' weight='10'/>
<srv service='name' protocol='tcp' domain='donkey' target='.' port='404' priority='10' weight='10'/>
<interface dev='eth1'/>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
+ <mac address='52:54:00:00:00:00'/>
<dns>
<txt name='example' value='example value'/>
</dns>
<interface dev='eth1'/>
</forward>
<bridge name='virbr0' stp='on' delay='0' macTableManager='kernel'/>
+ <mac address='52:54:00:00:00:00'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'/>
<interface dev='eth1'/>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
+ <mac address='52:54:00:00:00:00'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'/>
<nat ipv6='yes'/>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
+ <mac address='52:54:00:00:00:00'/>
<ip family='ipv6' address='2001:db8:ac10:fe01::1' prefix='64'>
</ip>
</network>
<interface dev='eth1'/>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
+ <mac address='52:54:00:00:00:00'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'/>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
<mtu size='7000'/>
+ <mac address='52:54:00:00:00:00'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'/>
<interface dev='eth1'/>
</forward>
<bridge name='virbr0' stp='on' delay='0'/>
+ <mac address='52:54:00:00:00:00'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'/>
<uuid>81ff0d90-c91e-6742-64da-4a736edb9a9b</uuid>
<forward mode='nat'/>
<bridge name='virbr1' stp='off' delay='1'/>
+ <mac address='52:54:00:00:00:00'/>
<domain name='example.com'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<tftp root='/var/lib/tftproot'/>
<uuid>81ff0d90-c91e-6742-64da-4a736edb9a9b</uuid>
<forward mode='nat'/>
<bridge name='virbr1' stp='off' delay='1'/>
+ <mac address='52:54:00:00:00:00'/>
<domain name='example.com'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
+++ /dev/null
-<network>
- <name>passthrough_001</name>
- <uuid>50e92386-8dd1-4a95-8a4b-9a888274eb66</uuid>
- <forward mode='passthrough'>
- <address type='pci' domain='0x0000' bus='0x11' slot='0x10' function='0x1'/>
- </forward>
-</network>
+++ /dev/null
-<network>
- <name>local</name>
- <uuid>81ff0d90-c91e-6742-64da-4a736edb9a9b</uuid>
- <forward mode='passthrough'>
- <pf dev='eth0'/>
- </forward>
- <ip address='192.168.122.1' netmask='255.255.255.0'>
- </ip>
-</network>
typedef enum {
TEST_COMPARE_NET_XML2XML_RESULT_SUCCESS,
TEST_COMPARE_NET_XML2XML_RESULT_FAIL_PARSE,
+ TEST_COMPARE_NET_XML2XML_RESULT_FAIL_VALIDATE,
TEST_COMPARE_NET_XML2XML_RESULT_FAIL_FORMAT,
TEST_COMPARE_NET_XML2XML_RESULT_FAIL_COMPARE,
} testCompareNetXML2XMLResult;
if (expectResult == TEST_COMPARE_NET_XML2XML_RESULT_FAIL_PARSE)
goto cleanup;
+ if (networkValidateTests(dev) < 0) {
+ result = TEST_COMPARE_NET_XML2XML_RESULT_FAIL_VALIDATE;
+ goto cleanup;
+ }
+ if (expectResult == TEST_COMPARE_NET_XML2XML_RESULT_FAIL_VALIDATE)
+ goto cleanup;
+
if (!(actual = virNetworkDefFormat(dev, xmlopt, flags))) {
result = TEST_COMPARE_NET_XML2XML_RESULT_FAIL_FORMAT;
goto cleanup;
DO_TEST_FULL(name, flags, TEST_COMPARE_NET_XML2XML_RESULT_SUCCESS)
#define DO_TEST_PARSE_ERROR(name) \
DO_TEST_FULL(name, 0, TEST_COMPARE_NET_XML2XML_RESULT_FAIL_PARSE)
+#define DO_TEST_VALIDATE_ERROR(name) \
+ DO_TEST_FULL(name, 0, TEST_COMPARE_NET_XML2XML_RESULT_FAIL_VALIDATE)
DO_TEST("dhcp6host-routed-network");
DO_TEST("empty-allow-ipv6");
DO_TEST("vepa-net");
DO_TEST("bandwidth-network");
DO_TEST("openvswitch-net");
- DO_TEST_FLAGS("passthrough-pf", VIR_NETWORK_XML_INACTIVE);
+ DO_TEST_VALIDATE_ERROR("passthrough-pf");
DO_TEST("hostdev");
DO_TEST_FLAGS("hostdev-pf", VIR_NETWORK_XML_INACTIVE);
DO_TEST_FLAGS("hostdev-pf-driver-model", VIR_NETWORK_XML_INACTIVE);
- DO_TEST("passthrough-address-crash");
+ DO_TEST_VALIDATE_ERROR("passthrough-address-crash");
DO_TEST("nat-network-explicit-flood");
DO_TEST("host-bridge-no-flood");
DO_TEST_PARSE_ERROR("hostdev-duplicate");
return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
}
-VIR_TEST_MAIN(mymain)
+VIR_TEST_MAIN_PRELOAD(mymain,
+ VIR_TEST_MOCK("virpci"),
+ VIR_TEST_MOCK("virrandom"))