aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2006-08-24 15:05:19 +0000
committerDaniel P. Berrange <berrange@redhat.com>2006-08-24 15:05:19 +0000
commit441246297ed3eabc2218a9a9395c34837f96f0a8 (patch)
tree1c0f644893637ba9254efba233dac987034c38c1 /tests/xml2sexprtest.c
parentCheck for failure of virConnectListDomains in 'list' command (diff)
downloadlibvirt-441246297ed3eabc2218a9a9395c34837f96f0a8.tar.gz
libvirt-441246297ed3eabc2218a9a9395c34837f96f0a8.tar.bz2
libvirt-441246297ed3eabc2218a9a9395c34837f96f0a8.zip
Added tests for the SEXPR<->XML conversion process
Diffstat (limited to 'tests/xml2sexprtest.c')
-rw-r--r--tests/xml2sexprtest.c76
1 files changed, 76 insertions, 0 deletions
diff --git a/tests/xml2sexprtest.c b/tests/xml2sexprtest.c
new file mode 100644
index 000000000..335145c73
--- /dev/null
+++ b/tests/xml2sexprtest.c
@@ -0,0 +1,76 @@
+
+#include <stdio.h>
+#include <string.h>
+
+#include "xml.h"
+#include "testutils.h"
+#include "internal.h"
+
+static char *progname;
+
+#define MAX_FILE 4096
+
+static int testCompareFiles(const char *xml, const char *sexpr, const char *name) {
+ char xmlData[MAX_FILE];
+ char sexprData[MAX_FILE];
+ char *gotname = NULL;
+ char *gotsexpr = NULL;
+ char *xmlPtr = &(xmlData[0]);
+ char *sexprPtr = &(sexprData[0]);
+
+ if (virtTestLoadFile(xml, &xmlPtr, MAX_FILE) < 0)
+ return -1;
+
+ if (virtTestLoadFile(sexpr, &sexprPtr, MAX_FILE) < 0)
+ return -1;
+
+ if (!(gotsexpr = virDomainParseXMLDesc(xmlData, &gotname)))
+ return -1;
+
+ if (getenv("DEBUG_TESTS")) {
+ printf("In %d '%s'\n", strlen(sexprData), sexprData);
+ printf("Out %d '%s'\n", strlen(gotsexpr), gotsexpr);
+ }
+ if (strcmp(sexprData, gotsexpr))
+ return -1;
+
+ if (strcmp(name, gotname))
+ return -1;
+
+ return 0;
+}
+
+static int testComparePV(void *data ATTRIBUTE_UNUSED) {
+ return testCompareFiles("xml2sexpr-pv.xml",
+ "xml2sexpr-pv.sexpr",
+ "pvtest");
+}
+
+static int testCompareFV(void *data ATTRIBUTE_UNUSED) {
+ return testCompareFiles("xml2sexpr-fv.xml",
+ "xml2sexpr-fv.sexpr",
+ "fvtest");
+}
+
+int
+main(int argc, char **argv)
+{
+ int ret = 0;
+
+ progname = argv[0];
+
+ if (argc > 1) {
+ fprintf(stderr, "Usage: %s\n", progname);
+ exit(EXIT_FAILURE);
+ }
+
+ if (virtTestRun("XML-2-SEXPR PV config",
+ 1, testComparePV, NULL) != 0)
+ ret = -1;
+
+ if (virtTestRun("XML-2-SEXPR FV config",
+ 1, testCompareFV, NULL) != 0)
+ ret = -1;
+
+ exit(ret==0 ? EXIT_SUCCESS : EXIT_FAILURE);
+}