backup: Wire up qemu full pull backup commands over QMP
[libvirt/ericb.git] / tests / interfacexml2xmltest.c
blob1fc61e3853131315ca043e2ad40aa75df0879c85
1 #include <config.h>
3 #include <unistd.h>
5 #include <sys/types.h>
6 #include <fcntl.h>
8 #include "internal.h"
9 #include "testutils.h"
10 #include "interface_conf.h"
11 #include "testutilsqemu.h"
12 #include "virstring.h"
14 #define VIR_FROM_THIS VIR_FROM_NONE
16 static int
17 testCompareXMLToXMLFiles(const char *xml)
19 char *xmlData = NULL;
20 char *actual = NULL;
21 int ret = -1;
22 virInterfaceDefPtr dev = NULL;
24 if (virTestLoadFile(xml, &xmlData) < 0)
25 goto fail;
27 if (!(dev = virInterfaceDefParseString(xmlData)))
28 goto fail;
30 if (!(actual = virInterfaceDefFormat(dev)))
31 goto fail;
33 if (STRNEQ(xmlData, actual)) {
34 virTestDifferenceFull(stderr, xmlData, xml, actual, NULL);
35 goto fail;
38 ret = 0;
40 fail:
41 VIR_FREE(xmlData);
42 VIR_FREE(actual);
43 virInterfaceDefFree(dev);
44 return ret;
47 static int
48 testCompareXMLToXMLHelper(const void *data)
50 int result = -1;
51 char *xml = NULL;
53 if (virAsprintf(&xml, "%s/interfaceschemadata/%s.xml",
54 abs_srcdir, (const char*)data) < 0)
55 return -1;
57 result = testCompareXMLToXMLFiles(xml);
59 VIR_FREE(xml);
60 return result;
64 static int
65 mymain(void)
67 int ret = 0;
69 #define DO_TEST(name) \
70 if (virTestRun("Interface XML-2-XML " name, \
71 testCompareXMLToXMLHelper, (name)) < 0) \
72 ret = -1
74 DO_TEST("ethernet-dhcp");
75 DO_TEST("ethernet-dhcp-and-multi-static");
76 DO_TEST("ethernet-static");
77 DO_TEST("ethernet-static-no-prefix");
78 DO_TEST("bridge");
79 DO_TEST("bridge42");
80 DO_TEST("bridge-bond");
81 DO_TEST("bridge-empty");
82 DO_TEST("bridge-no-address");
83 DO_TEST("bridge-vlan");
84 DO_TEST("bridge-no-address");
85 DO_TEST("vlan");
86 DO_TEST("bond");
87 DO_TEST("bond-arp");
88 DO_TEST("ipv6-autoconf-dhcp");
89 DO_TEST("ipv6-autoconf");
90 DO_TEST("ipv6-dhcp");
91 DO_TEST("ipv6-local");
92 DO_TEST("ipv6-static-multi");
93 DO_TEST("ipv6-static");
95 return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
98 VIR_TEST_MAIN(mymain)