]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
tests: Add virtTestCompareToFile
authorCole Robinson <crobinso@redhat.com>
Thu, 23 Apr 2015 15:14:26 +0000 (11:14 -0400)
committerCole Robinson <crobinso@redhat.com>
Thu, 23 Apr 2015 21:08:48 +0000 (17:08 -0400)
Replaces a common pattern used in many test files

32 files changed:
tests/bhyvexml2argvtest.c
tests/bhyvexml2xmltest.c
tests/cputest.c
tests/domaincapstest.c
tests/lxcxml2xmltest.c
tests/networkxml2conftest.c
tests/networkxml2firewalltest.c
tests/networkxml2xmltest.c
tests/networkxml2xmlupdatetest.c
tests/nodeinfotest.c
tests/nwfilterxml2firewalltest.c
tests/nwfilterxml2xmltest.c
tests/qemucaps2xmltest.c
tests/qemumonitorjsontest.c
tests/qemuxml2argvtest.c
tests/qemuxmlnstest.c
tests/secretxml2xmltest.c
tests/sexpr2xmltest.c
tests/storagepoolxml2xmltest.c
tests/storagevolxml2argvtest.c
tests/storagevolxml2xmltest.c
tests/sysinfotest.c
tests/testutils.c
tests/testutils.h
tests/vircaps2xmltest.c
tests/vircgrouptest.c
tests/vmx2xmltest.c
tests/xencapstest.c
tests/xlconfigtest.c
tests/xmconfigtest.c
tests/xml2sexprtest.c
tests/xml2vmxtest.c

index 26d00750fb96e448e6a0e0e992b699c0a9d86ca9..1cce2aaa0f9df1f038fc8507f7fad5d6e86576e5 100644 (file)
@@ -19,7 +19,6 @@ static int testCompareXMLToArgvFiles(const char *xml,
                                      const char *ldcmdline,
                                      const char *dmcmdline)
 {
-    char *expectargv = NULL, *expectld = NULL, *expectdm = NULL;
     int len;
     char *actualargv = NULL, *actualld = NULL, *actualdm = NULL;
     virDomainDefPtr vmdef = NULL;
@@ -54,51 +53,23 @@ static int testCompareXMLToArgvFiles(const char *xml,
     if (!(actualld = virCommandToString(ldcmd)))
         goto out;
 
-    len = virtTestLoadFile(cmdline, &expectargv);
-    if (len < 0)
+    if (virtTestCompareToFile(actualargv, cmdline) < 0)
         goto out;
 
-    if (len && expectargv[len - 1] == '\n')
-        expectargv[len - 1] = '\0';
-
-    len = virtTestLoadFile(ldcmdline, &expectld);
-    if (len < 0)
+    if (virtTestCompareToFile(actualld, ldcmdline) < 0)
         goto out;
 
-    if (len && expectld[len - 1] == '\n')
-        expectld[len - 1] = '\0';
-
-    len = virFileReadAllQuiet(dmcmdline, 1000, &expectdm);
-    if (len < 0) {
-        if (actualdm != NULL) {
-            virtTestDifference(stderr, "", actualdm);
-            goto out;
-        }
-    } else if (len && expectdm[len - 1] == '\n') {
-        expectdm[len - 1] = '\0';
-    }
-
-    if (STRNEQ(expectargv, actualargv)) {
-        virtTestDifference(stderr, expectargv, actualargv);
+    if (virtTestCompareToFile(formatted, xml) < 0)
         goto out;
-    }
 
-    if (STRNEQ(expectld, actualld)) {
-        virtTestDifference(stderr, expectld, actualld);
-        goto out;
-    }
-
-    if (expectdm && STRNEQ(expectdm, actualdm)) {
-        virtTestDifference(stderr, expectdm, actualdm);
-        goto out;
+    if (virFileExists(dmcmdline) || actualdm) {
+        if (virtTestCompareToFile(actualdm, dmcmdline) < 0)
+            goto out;
     }
 
     ret = 0;
 
  out:
-    VIR_FREE(expectargv);
-    VIR_FREE(expectld);
-    VIR_FREE(expectdm);
     VIR_FREE(actualargv);
     VIR_FREE(actualld);
     VIR_FREE(actualdm);
index 740c9573f3453bf2f2b4da9dadde53babb32f79e..826baea4031e093bdfb23f569df13819775b2b12 100644 (file)
@@ -14,14 +14,10 @@ static bhyveConn driver;
 static int
 testCompareXMLToXMLFiles(const char *inxml, const char *outxml)
 {
-    char *outXmlData = NULL;
     char *actual = NULL;
     virDomainDefPtr def = NULL;
     int ret = -1;
 
-    if (virtTestLoadFile(outxml, &outXmlData) < 0)
-        goto fail;
-
     if (!(def = virDomainDefParseFile(inxml, driver.caps, driver.xmlopt,
                                       VIR_DOMAIN_DEF_PARSE_INACTIVE)))
         goto fail;
@@ -29,15 +25,12 @@ testCompareXMLToXMLFiles(const char *inxml, const char *outxml)
     if (!(actual = virDomainDefFormat(def, VIR_DOMAIN_DEF_FORMAT_INACTIVE)))
         goto fail;
 
-    if (STRNEQ(outXmlData, actual)) {
-        virtTestDifference(stderr, outXmlData, actual);
+    if (virtTestCompareToFile(actual, outxml) < 0)
         goto fail;
-    }
 
     ret = 0;
 
  fail:
-    VIR_FREE(outXmlData);
     VIR_FREE(actual);
     virDomainDefFree(def);
     return ret;
index 56bcc9068da088db855c551d1fcfddf5c1fe6423..06b3f12062b8e4724688bdab3aa8f76a61ccee97 100644 (file)
@@ -158,7 +158,6 @@ cpuTestCompareXML(const char *arch,
                   bool updateCPU)
 {
     char *xml = NULL;
-    char *expected = NULL;
     char *actual = NULL;
     int ret = -1;
 
@@ -166,24 +165,16 @@ cpuTestCompareXML(const char *arch,
                     abs_srcdir, arch, name) < 0)
         goto cleanup;
 
-    if (virtTestLoadFile(xml, &expected) < 0)
-        goto cleanup;
-
     if (!(actual = virCPUDefFormat(cpu, NULL, updateCPU)))
         goto cleanup;
 
-    if (STRNEQ(expected, actual)) {
-        if (virTestGetVerbose())
-            fprintf(stderr, "\nCompared to %s-%s.xml", arch, name);
-        virtTestDifference(stderr, expected, actual);
+    if (virtTestCompareToFile(actual, xml) < 0)
         goto cleanup;
-    }
 
     ret = 0;
 
  cleanup:
     VIR_FREE(xml);
-    VIR_FREE(expected);
     VIR_FREE(actual);
     return ret;
 }
index 7a7fa64f0c361601b8bca663da0bc7ceae8715bc..f6a060ec646eac5cc57e726a7e7139a168f1b15b 100644 (file)
@@ -178,16 +178,12 @@ test_virDomainCapsFormat(const void *opaque)
     virDomainCapsPtr domCaps = NULL;
     char *path = NULL;
     char *domCapsXML = NULL;
-    char *domCapsFromFile = NULL;
     int ret = -1;
 
     if (virAsprintf(&path, "%s/domaincapsschemadata/domaincaps-%s.xml",
                     abs_srcdir, data->filename) < 0)
         goto cleanup;
 
-    if (virFileReadAll(path, 8192, &domCapsFromFile) < 0)
-        goto cleanup;
-
     if (!(domCaps = buildVirDomainCaps(data->emulatorbin, data->machine,
                                        data->arch, data->type,
                                        data->fillFunc, data->opaque)))
@@ -196,14 +192,11 @@ test_virDomainCapsFormat(const void *opaque)
     if (!(domCapsXML = virDomainCapsFormat(domCaps)))
         goto cleanup;
 
-    if (STRNEQ(domCapsFromFile, domCapsXML)) {
-        virtTestDifference(stderr, domCapsFromFile, domCapsXML);
+    if (virtTestCompareToFile(domCapsXML, path) < 0)
         goto cleanup;
-    }
 
     ret = 0;
  cleanup:
-    VIR_FREE(domCapsFromFile);
     VIR_FREE(domCapsXML);
     VIR_FREE(path);
     virObjectUnref(domCaps);
index a9b541953079b1ac674009ea09132d7c028c8c42..3e00347483bcf4d2a501021de9d5ed91ecb186e3 100644 (file)
@@ -25,14 +25,10 @@ static virDomainXMLOptionPtr xmlopt;
 static int
 testCompareXMLToXMLFiles(const char *inxml, const char *outxml, bool live)
 {
-    char *outXmlData = NULL;
     char *actual = NULL;
     int ret = -1;
     virDomainDefPtr def = NULL;
 
-    if (virtTestLoadFile(outxml, &outXmlData) < 0)
-        goto fail;
-
     if (!(def = virDomainDefParseFile(inxml, caps, xmlopt,
                                       live ? 0 : VIR_DOMAIN_DEF_PARSE_INACTIVE)))
         goto fail;
@@ -45,14 +41,11 @@ testCompareXMLToXMLFiles(const char *inxml, const char *outxml, bool live)
     if (!(actual = virDomainDefFormat(def, VIR_DOMAIN_DEF_FORMAT_SECURE)))
         goto fail;
 
-    if (STRNEQ(outXmlData, actual)) {
-        virtTestDifference(stderr, outXmlData, actual);
+    if (virtTestCompareToFile(actual, outxml) < 0)
         goto fail;
-    }
 
     ret = 0;
  fail:
-    VIR_FREE(outXmlData);
     VIR_FREE(actual);
     virDomainDefFree(def);
     return ret;
index 1d9a772bfa1b9e0c469bc41a6418835a799d9610..fe95e8c8c280a1db6cdecac004a914d5c0d6fabc 100644 (file)
@@ -21,7 +21,6 @@
 static int
 testCompareXMLToConfFiles(const char *inxml, const char *outconf, dnsmasqCapsPtr caps)
 {
-    char *outConfData = NULL;
     char *actual = NULL;
     int ret = -1;
     virNetworkDefPtr dev = NULL;
@@ -30,9 +29,6 @@ testCompareXMLToConfFiles(const char *inxml, const char *outconf, dnsmasqCapsPtr
     char *pidfile = NULL;
     dnsmasqContext *dctx = NULL;
 
-    if (virtTestLoadFile(outconf, &outConfData) < 0)
-        goto fail;
-
     if (!(dev = virNetworkDefParseFile(inxml)))
         goto fail;
 
@@ -49,15 +45,12 @@ testCompareXMLToConfFiles(const char *inxml, const char *outconf, dnsmasqCapsPtr
                         dctx, caps) < 0)
         goto fail;
 
-    if (STRNEQ(outConfData, actual)) {
-        virtTestDifference(stderr, outConfData, actual);
+    if (virtTestCompareToFile(actual, outconf) < 0)
         goto fail;
-    }
 
     ret = 0;
 
  fail:
-    VIR_FREE(outConfData);
     VIR_FREE(actual);
     VIR_FREE(pidfile);
     virCommandFree(cmd);
index c69ab54ba8ff92321535c166130066da65affc64..0f3818028cc035dec8d2c1ff45677cc38a689231 100644 (file)
@@ -48,7 +48,6 @@ static int testCompareXMLToArgvFiles(const char *xml,
                                      const char *cmdline)
 {
     char *expectargv = NULL;
-    int len;
     char *actualargv = NULL;
     virBuffer buf = VIR_BUFFER_INITIALIZER;
     virNetworkDefPtr def = NULL;
@@ -69,15 +68,9 @@ static int testCompareXMLToArgvFiles(const char *xml,
     virtTestClearCommandPath(actualargv);
     virCommandSetDryRun(NULL, NULL, NULL);
 
-    len = virtTestLoadFile(cmdline, &expectargv);
-    if (len < 0)
+    if (virtTestCompareToFile(actualargv, cmdline) < 0)
         goto cleanup;
 
-    if (STRNEQ(expectargv, actualargv)) {
-        virtTestDifference(stderr, expectargv, actualargv);
-        goto cleanup;
-    }
-
     ret = 0;
 
  cleanup:
index 467be2af9c9e059f250620117f2e9c79489cdb80..290336edbefd6084a9e936c7b2fc52a77c4b12b9 100644 (file)
@@ -20,29 +20,22 @@ static int
 testCompareXMLToXMLFiles(const char *inxml, const char *outxml,
                          unsigned int flags)
 {
-    char *outXmlData = NULL;
     char *actual = NULL;
     int ret = -1;
     virNetworkDefPtr dev = NULL;
 
-    if (virtTestLoadFile(outxml, &outXmlData) < 0)
-        goto fail;
-
     if (!(dev = virNetworkDefParseFile(inxml)))
         goto fail;
 
     if (!(actual = virNetworkDefFormat(dev, flags)))
         goto fail;
 
-    if (STRNEQ(outXmlData, actual)) {
-        virtTestDifference(stderr, outXmlData, actual);
+    if (virtTestCompareToFile(actual, outxml) < 0)
         goto fail;
-    }
 
     ret = 0;
 
  fail:
-    VIR_FREE(outXmlData);
     VIR_FREE(actual);
     virNetworkDefFree(dev);
     return ret;
index 2051a0110ecefc5766a5afa75f7f1b147e38f65d..af697bb56858bfe17d9ef42f79c6fd1b23aa7a80 100644 (file)
@@ -23,7 +23,6 @@ testCompareXMLToXMLFiles(const char *netxml, const char *updatexml,
                          int parentIndex, bool expectFailure)
 {
     char *updateXmlData = NULL;
-    char *outXmlData = NULL;
     char *actual = NULL;
     int ret = -1;
     virNetworkDefPtr def = NULL;
@@ -42,13 +41,8 @@ testCompareXMLToXMLFiles(const char *netxml, const char *updatexml,
         goto fail;
 
     if (!expectFailure) {
-        if (virtTestLoadFile(outxml, &outXmlData) < 0)
+        if (virtTestCompareToFile(actual, outxml) < 0)
             goto error;
-
-        if (STRNEQ(outXmlData, actual)) {
-            virtTestDifference(stderr, outXmlData, actual);
-            goto fail;
-        }
     }
 
     ret = 0;
@@ -65,7 +59,6 @@ testCompareXMLToXMLFiles(const char *netxml, const char *updatexml,
     }
  error:
     VIR_FREE(updateXmlData);
-    VIR_FREE(outXmlData);
     VIR_FREE(actual);
     virNetworkDefFree(def);
     return ret;
index e53a604ef4083139dea7a8d9971952de7041f369..8d0a06f730f872a0da4db62bb22504ba6cf0c9c0 100644 (file)
@@ -31,13 +31,9 @@ linuxTestCompareFiles(const char *cpuinfofile,
 {
     int ret = -1;
     char *actualData = NULL;
-    char *expectData = NULL;
     virNodeInfo nodeinfo;
     FILE *cpuinfo;
 
-    if (virtTestLoadFile(outputfile, &expectData) < 0)
-        goto fail;
-
     cpuinfo = fopen(cpuinfofile, "r");
     if (!cpuinfo) {
         fprintf(stderr, "unable to open: %s : %s\n",
@@ -66,15 +62,12 @@ linuxTestCompareFiles(const char *cpuinfofile,
                     nodeinfo.cores, nodeinfo.threads) < 0)
         goto fail;
 
-    if (STRNEQ(actualData, expectData)) {
-        virtTestDifference(stderr, expectData, actualData);
+    if (virtTestCompareToFile(actualData, outputfile) < 0)
         goto fail;
-    }
 
     ret = 0;
 
  fail:
-    VIR_FREE(expectData);
     VIR_FREE(actualData);
     return ret;
 }
@@ -109,16 +102,12 @@ linuxCPUStatsCompareFiles(const char *cpustatfile,
 {
     int ret = -1;
     char *actualData = NULL;
-    char *expectData = NULL;
     FILE *cpustat = NULL;
     virNodeCPUStatsPtr params = NULL;
     virBuffer buf = VIR_BUFFER_INITIALIZER;
     size_t i;
     int nparams = 0;
 
-    if (virtTestLoadFile(outfile, &expectData) < 0)
-        goto fail;
-
     if (!(cpustat = fopen(cpustatfile, "r"))) {
         virReportSystemError(errno, "failed to open '%s': ", cpustatfile);
         goto fail;
@@ -150,17 +139,14 @@ linuxCPUStatsCompareFiles(const char *cpustatfile,
         goto fail;
     }
 
-    if (STRNEQ(actualData, expectData)) {
-        virtTestDifference(stderr, expectData, actualData);
+    if (virtTestCompareToFile(actualData, outfile) < 0)
         goto fail;
-    }
 
     ret = 0;
 
  fail:
     virBufferFreeAndReset(&buf);
     VIR_FORCE_FCLOSE(cpustat);
-    VIR_FREE(expectData);
     VIR_FREE(actualData);
     VIR_FREE(params);
     return ret;
index 167ad42327fb97ed5f699b479da102aa9a75ec1c..3398989128f16a6c909f483405c29ecb19a9fd63 100644 (file)
@@ -372,8 +372,6 @@ static int testSetDefaultParameters(virNWFilterHashTablePtr vars)
 static int testCompareXMLToArgvFiles(const char *xml,
                                      const char *cmdline)
 {
-    char *expectargv = NULL;
-    int len;
     char *actualargv = NULL;
     virBuffer buf = VIR_BUFFER_INITIALIZER;
     virNWFilterHashTablePtr vars = virNWFilterHashTableCreate(0);
@@ -407,20 +405,13 @@ static int testCompareXMLToArgvFiles(const char *xml,
 
     testRemoveCommonRules(actualargv);
 
-    len = virtTestLoadFile(cmdline, &expectargv);
-    if (len < 0)
+    if (virtTestCompareToFile(actualargv, cmdline) < 0)
         goto cleanup;
 
-    if (STRNEQ(expectargv, actualargv)) {
-        virtTestDifference(stderr, expectargv, actualargv);
-        goto cleanup;
-    }
-
     ret = 0;
 
  cleanup:
     virBufferFreeAndReset(&buf);
-    VIR_FREE(expectargv);
     VIR_FREE(actualargv);
     virNWFilterInstReset(&inst);
     virNWFilterHashTableFree(vars);
index 7640af0ccea7ea4158741e98b6a2919eedc691ca..361a9a20e88385c5a11feb65526ed382b73858eb 100644 (file)
@@ -23,14 +23,10 @@ static int
 testCompareXMLToXMLFiles(const char *inxml, const char *outxml,
                          bool expect_error)
 {
-    char *outXmlData = NULL;
     char *actual = NULL;
     int ret = -1;
     virNWFilterDefPtr dev = NULL;
 
-    if (virtTestLoadFile(outxml, &outXmlData) < 0)
-        goto fail;
-
     virResetLastError();
 
     if (!(dev = virNWFilterDefParseFile(inxml))) {
@@ -44,16 +40,13 @@ testCompareXMLToXMLFiles(const char *inxml, const char *outxml,
     if (!(actual = virNWFilterDefFormat(dev)))
         goto fail;
 
-    if (STRNEQ(outXmlData, actual)) {
-        virtTestDifference(stderr, outXmlData, actual);
+    if (virtTestCompareToFile(actual, outxml) < 0)
         goto fail;
-    }
 
  done:
     ret = 0;
 
  fail:
-    VIR_FREE(outXmlData);
     VIR_FREE(actual);
     virNWFilterDefFree(dev);
     return ret;
index fd2056d0a982f3b6db0b298bea3a71551b2df6bc..6a5811c6c849fdcc00326cdcce2c4e28ab2031d1 100644 (file)
 #define VIR_FROM_THIS VIR_FROM_NONE
 
 
-static int
-testCompareXMLToXML(const char *inxmldata, const char *outxmldata)
-{
-    int ret = -1;
-
-    if (STRNEQ(outxmldata, inxmldata)) {
-        virtTestDifference(stderr, outxmldata, inxmldata);
-        goto cleanup;
-    }
-
-    ret = 0;
- cleanup:
-
-    return ret;
-}
-
-
 typedef struct _testQemuData testQemuData;
 typedef testQemuData *testQemuDataPtr;
 struct _testQemuData {
@@ -139,7 +122,7 @@ testQemuCapsXML(const void *opaque)
     int ret = -1;
     const testQemuData *data = opaque;
     char *capsFile = NULL, *xmlFile = NULL;
-    char *capsData = NULL, *xmlData = NULL;
+    char *capsData = NULL;
     char *capsXml = NULL;
     virCapsPtr capsProvided = NULL;
 
@@ -151,9 +134,6 @@ testQemuCapsXML(const void *opaque)
                     abs_srcdir, data->base) < 0)
         goto cleanup;
 
-    if (virtTestLoadFile(xmlFile, &xmlData) < 0)
-        goto cleanup;
-
     if (virtTestLoadFile(capsFile, &capsData) < 0)
         goto cleanup;
 
@@ -164,14 +144,15 @@ testQemuCapsXML(const void *opaque)
     if (!capsXml)
         goto cleanup;
 
-    ret = testCompareXMLToXML(capsXml, xmlData);
+    if (virtTestCompareToFile(capsXml, xmlFile) < 0)
+        goto cleanup;
 
+    ret = 0;
  cleanup:
     VIR_FREE(xmlFile);
     VIR_FREE(capsFile);
     VIR_FREE(capsXml);
     VIR_FREE(capsData);
-    VIR_FREE(xmlData);
     virObjectUnref(capsProvided);
     return ret;
 }
index 170d6903edcc46a4d307e6c959c30a4d538a09d1..f729c7c9d8e5a8a6bab77a63651223a4124e2f04 100644 (file)
@@ -2129,7 +2129,6 @@ testQemuMonitorJSONGetCPUData(const void *opaque)
     char *jsonFile = NULL;
     char *dataFile = NULL;
     char *jsonStr = NULL;
-    char *expected = NULL;
     char *actual = NULL;
     int ret = -1;
 
@@ -2144,8 +2143,7 @@ testQemuMonitorJSONGetCPUData(const void *opaque)
                     abs_srcdir, data->name) < 0)
         goto cleanup;
 
-    if (virtTestLoadFile(jsonFile, &jsonStr) < 0 ||
-        virtTestLoadFile(dataFile, &expected) < 0)
+    if (virtTestLoadFile(jsonFile, &jsonStr) < 0)
         goto cleanup;
 
     if (qemuMonitorTestAddItem(test, "qom-list",
@@ -2175,17 +2173,14 @@ testQemuMonitorJSONGetCPUData(const void *opaque)
     if (!(actual = cpuDataFormat(cpuData)))
         goto cleanup;
 
-    if (STRNEQ(expected, actual)) {
-        virtTestDifference(stderr, expected, actual);
+    if (virtTestCompareToFile(actual, dataFile) < 0)
         goto cleanup;
-    }
 
     ret = 0;
  cleanup:
     VIR_FREE(jsonFile);
     VIR_FREE(dataFile);
     VIR_FREE(jsonStr);
-    VIR_FREE(expected);
     VIR_FREE(actual);
     cpuDataFree(cpuData);
     qemuMonitorTestFree(test);
index e489a13e6399d187ee80a78d5cd365e7c11df995..1fe445a3dc4d6bb9bf83cdf189c87b6fc70fa1bc 100644 (file)
@@ -253,8 +253,6 @@ static int testCompareXMLToArgvFiles(const char *xml,
                                      int migrateFd,
                                      virQemuXML2ArgvTestFlags flags)
 {
-    char *expectargv = NULL;
-    int len;
     char *actualargv = NULL;
     int ret = -1;
     virDomainDefPtr vmdef = NULL;
@@ -373,16 +371,8 @@ static int testCompareXMLToArgvFiles(const char *xml,
     if (!(actualargv = virCommandToString(cmd)))
         goto out;
 
-    len = virtTestLoadFile(cmdline, &expectargv);
-    if (len < 0)
+    if (virtTestCompareToFile(actualargv, cmdline) < 0)
         goto out;
-    if (len && expectargv[len - 1] == '\n')
-        expectargv[len - 1] = '\0';
-
-    if (STRNEQ(expectargv, actualargv)) {
-        virtTestDifference(stderr, expectargv, actualargv);
-        goto out;
-    }
 
  ok:
     if (!virtTestOOMActive() &&
@@ -395,7 +385,6 @@ static int testCompareXMLToArgvFiles(const char *xml,
 
  out:
     VIR_FREE(log);
-    VIR_FREE(expectargv);
     VIR_FREE(actualargv);
     virCommandFree(cmd);
     virDomainDefFree(vmdef);
index 4d7a14276e4f5b14b747d4f3951eef1793d50376..8eaab8a5a87105b617a6861fbbc2cf57dc23fe71 100644 (file)
@@ -34,8 +34,6 @@ static int testCompareXMLToArgvFiles(const char *xml,
                                      bool json,
                                      bool expectError)
 {
-    char *expectargv = NULL;
-    int len;
     char *actualargv = NULL;
     int ret = -1;
     virDomainDefPtr vmdef = NULL;
@@ -48,12 +46,6 @@ static int testCompareXMLToArgvFiles(const char *xml,
     if (!(conn = virGetConnect()))
         goto fail;
 
-    len = virtTestLoadFile(cmdline, &expectargv);
-    if (len < 0)
-        goto fail;
-    if (len && expectargv[len - 1] == '\n')
-        expectargv[len - 1] = '\0';
-
     if (!(vmdef = virDomainDefParseFile(xml, driver.caps, driver.xmlopt,
                                         VIR_DOMAIN_DEF_PARSE_INACTIVE)))
         goto fail;
@@ -144,17 +136,14 @@ static int testCompareXMLToArgvFiles(const char *xml,
         memmove(start_skip, end_skip, strlen(end_skip) + 1);
     }
 
-    if (STRNEQ(expectargv, actualargv)) {
-        virtTestDifference(stderr, expectargv, actualargv);
+    if (virtTestCompareToFile(actualargv, cmdline) < 0)
         goto fail;
-    }
 
     ret = 0;
 
  fail:
     VIR_FREE(log);
     VIR_FREE(emulator);
-    VIR_FREE(expectargv);
     VIR_FREE(actualargv);
     virCommandFree(cmd);
     virDomainDefFree(vmdef);
index cf5f00fc5b8c4b4706d58d3bb7baec7b0d80909f..b4c9386a7f0bb241b7687a6824ee4d4b8341bbd4 100644 (file)
 static int
 testCompareXMLToXMLFiles(const char *inxml, const char *outxml)
 {
-    char *outXmlData = NULL;
     char *actual = NULL;
     int ret = -1;
     virSecretDefPtr secret = NULL;
 
-    if (virtTestLoadFile(outxml, &outXmlData) < 0)
-        goto fail;
-
     if (!(secret = virSecretDefParseFile(inxml)))
         goto fail;
 
     if (!(actual = virSecretDefFormat(secret)))
         goto fail;
 
-    if (STRNEQ(outXmlData, actual)) {
-        virtTestDifference(stderr, outXmlData, actual);
+    if (virtTestCompareToFile(actual, outxml) < 0)
         goto fail;
-    }
 
     ret = 0;
 
  fail:
-    VIR_FREE(outXmlData);
     VIR_FREE(actual);
     virSecretDefFree(secret);
     return ret;
index 7247414c191184b07f143390a0de2417e9ec91d8..99999f1e6aa85b9d55bce13a0ed7ded49b40e3f8 100644 (file)
@@ -21,7 +21,6 @@ static virCapsPtr caps;
 static int
 testCompareFiles(const char *xml, const char *sexpr, int xendConfigVersion)
 {
-  char *xmlData = NULL;
   char *sexprData = NULL;
   char *gotxml = NULL;
   int id;
@@ -36,9 +35,6 @@ testCompareFiles(const char *xml, const char *sexpr, int xendConfigVersion)
   conn = virGetConnect();
   if (!conn) goto fail;
 
-  if (virtTestLoadFile(xml, &xmlData) < 0)
-      goto fail;
-
   if (virtTestLoadFile(sexpr, &sexprData) < 0)
       goto fail;
 
@@ -68,15 +64,12 @@ testCompareFiles(const char *xml, const char *sexpr, int xendConfigVersion)
   if (!(gotxml = virDomainDefFormat(def, 0)))
       goto fail;
 
-  if (STRNEQ(xmlData, gotxml)) {
-      virtTestDifference(stderr, xmlData, gotxml);
+  if (virtTestCompareToFile(gotxml, xml) < 0)
       goto fail;
-  }
 
   ret = 0;
 
  fail:
-  VIR_FREE(xmlData);
   VIR_FREE(sexprData);
   VIR_FREE(gotxml);
   virDomainDefFree(def);
index 54b2a00b0411445c1620463ff5a20b92d16e6433..bec1b8fa1d0b85a7dc6baf6b96e328cd9e08428f 100644 (file)
 static int
 testCompareXMLToXMLFiles(const char *inxml, const char *outxml)
 {
-    char *outXmlData = NULL;
     char *actual = NULL;
     int ret = -1;
     virStoragePoolDefPtr dev = NULL;
 
-    if (virtTestLoadFile(outxml, &outXmlData) < 0)
-        goto fail;
-
     if (!(dev = virStoragePoolDefParseFile(inxml)))
         goto fail;
 
     if (!(actual = virStoragePoolDefFormat(dev)))
         goto fail;
 
-    if (STRNEQ(outXmlData, actual)) {
-        virtTestDifference(stderr, outXmlData, actual);
+    if (virtTestCompareToFile(actual, outxml) < 0)
         goto fail;
-    }
 
     ret = 0;
 
  fail:
-    VIR_FREE(outXmlData);
     VIR_FREE(actual);
     virStoragePoolDefFree(dev);
     return ret;
index d957f6382b4224dae589daecc7ace61c0445a655..ed002ce352819d2c01ad3fd487ebda0282f857c6 100644 (file)
@@ -43,12 +43,9 @@ testCompareXMLToArgvFiles(bool shouldFail,
                           int imgformat,
                           unsigned long parse_flags)
 {
-    char *expectedCmdline = NULL;
     char *actualCmdline = NULL;
     int ret = -1;
 
-    int len;
-
     virCommandPtr cmd = NULL;
     virConnectPtr conn;
 
@@ -98,16 +95,8 @@ testCompareXMLToArgvFiles(bool shouldFail,
     if (!(actualCmdline = virCommandToString(cmd)))
         goto cleanup;
 
-    len = virtTestLoadFile(cmdline, &expectedCmdline);
-    if (len < 0)
-        goto cleanup;
-    if (len && expectedCmdline[len-1] == '\n')
-        expectedCmdline[len-1] = '\0';
-
-    if (STRNEQ_NULLABLE(expectedCmdline, actualCmdline)) {
-        virtTestDifference(stderr, expectedCmdline, actualCmdline);
+    if (virtTestCompareToFile(actualCmdline, cmdline) < 0)
         goto cleanup;
-    }
 
     ret = 0;
 
@@ -118,7 +107,6 @@ testCompareXMLToArgvFiles(bool shouldFail,
     virStorageVolDefFree(inputvol);
     virCommandFree(cmd);
     VIR_FREE(actualCmdline);
-    VIR_FREE(expectedCmdline);
     virObjectUnref(conn);
     return ret;
 }
index 64b66738db782c7a1507dcb0583fbafa369d3188..148d1e6d95837188e06f93b3c32be0ebfa3348d7 100644 (file)
@@ -20,15 +20,11 @@ static int
 testCompareXMLToXMLFiles(const char *poolxml, const char *inxml,
                          const char *outxml, unsigned int flags)
 {
-    char *outXmlData = NULL;
     char *actual = NULL;
     int ret = -1;
     virStoragePoolDefPtr pool = NULL;
     virStorageVolDefPtr dev = NULL;
 
-    if (virtTestLoadFile(outxml, &outXmlData) < 0)
-        goto fail;
-
     if (!(pool = virStoragePoolDefParseFile(poolxml)))
         goto fail;
 
@@ -38,15 +34,12 @@ testCompareXMLToXMLFiles(const char *poolxml, const char *inxml,
     if (!(actual = virStorageVolDefFormat(pool, dev)))
         goto fail;
 
-    if (STRNEQ(outXmlData, actual)) {
-        virtTestDifference(stderr, outXmlData, actual);
+    if (virtTestCompareToFile(actual, outxml) < 0)
         goto fail;
-    }
 
     ret = 0;
 
  fail:
-    VIR_FREE(outXmlData);
     VIR_FREE(actual);
     virStoragePoolDefFree(pool);
     virStorageVolDefFree(dev);
index 5ba3298094f873c22a322be3337ba6ae9567d115..d8266a72aeddedaad4196a8032620e209eecf35f 100644 (file)
@@ -62,7 +62,6 @@ static int
 testSysinfo(const void *data)
 {
     int result = -1;
-    char *sysfsExpectData = NULL;
     const char *sysfsActualData;
     virSysinfoDefPtr ret = NULL;
     virBuffer buf = VIR_BUFFER_INITIALIZER;
@@ -71,10 +70,8 @@ testSysinfo(const void *data)
     virSysinfoSetup(testdata->decoder, testdata->sysinfo, testdata->cpuinfo);
 
     if (!testdata->expected ||
-        virtTestLoadFile(testdata->expected, &sysfsExpectData) < 0 ||
-        !(ret = virSysinfoRead())) {
+        !(ret = virSysinfoRead()))
         goto cleanup;
-    }
 
     if (virSysinfoFormat(&buf, ret) < 0)
         goto cleanup;
@@ -82,15 +79,12 @@ testSysinfo(const void *data)
     if (!(sysfsActualData = virBufferCurrentContent(&buf)))
         goto cleanup;
 
-    if (STRNEQ(sysfsActualData, sysfsExpectData)) {
-        virtTestDifference(stderr, sysfsExpectData, sysfsActualData);
+    if (virtTestCompareToFile(sysfsActualData, testdata->expected) < 0)
         goto cleanup;
-    }
 
     result = 0;
 
  cleanup:
-    VIR_FREE(sysfsExpectData);
     virSysinfoDefFree(ret);
     virBufferFreeAndReset(&buf);
 
index 3274e40610e34740c6dc473157481ec0bf35efa4..8367b4b09e2c1b505281b8e0846497b6c4f6c7dc 100644 (file)
@@ -596,6 +596,39 @@ int virtTestDifferenceBin(FILE *stream,
     return 0;
 }
 
+/*
+ * @param strcontent: String input content
+ * @param filename: File to compare strcontent against
+ */
+int
+virtTestCompareToFile(const char *strcontent,
+                      const char *filename)
+{
+    int ret = -1;
+    char *filecontent = NULL;
+    char *fixedcontent = NULL;
+
+    if (virtTestLoadFile(filename, &filecontent) < 0)
+        goto failure;
+
+    if (filecontent[strlen(filecontent) - 1] == '\n' &&
+        strcontent[strlen(strcontent) - 1] != '\n') {
+        if (virAsprintf(&fixedcontent, "%s\n", strcontent) < 0)
+            goto failure;
+    }
+
+    if (STRNEQ(fixedcontent ? fixedcontent : strcontent, filecontent)) {
+        virtTestDifference(stderr, strcontent, filecontent);
+        goto failure;
+    }
+
+    ret = 0;
+ failure:
+    VIR_FREE(fixedcontent);
+    VIR_FREE(filecontent);
+    return ret;
+}
+
 static void
 virtTestErrorFuncQuiet(void *data ATTRIBUTE_UNUSED,
                        virErrorPtr err ATTRIBUTE_UNUSED)
index 60ee3f442cb4327b8b2119d746e3a29b2421aecc..f34a39346608c8f81a0070b1257d87dc6ffa7f32 100644 (file)
@@ -73,6 +73,8 @@ int virtTestDifferenceBin(FILE *stream,
                           const char *expect,
                           const char *actual,
                           size_t length);
+int virtTestCompareToFile(const char *strcontent,
+                          const char *filename);
 
 unsigned int virTestGetDebug(void);
 unsigned int virTestGetVerbose(void);
index b5b4f4829d2f6efc7a6210c8c082fbe5269f52e5..be2bad5a177921e1c5149e299e14eb4eff7c8bb2 100644 (file)
@@ -106,7 +106,6 @@ test_virCapabilitiesFormat(const void *opaque)
     struct virCapabilitiesFormatData *data = (struct virCapabilitiesFormatData *) opaque;
     virCapsPtr caps = NULL;
     char *capsXML = NULL;
-    char *capsFromFile = NULL;
     char *path = NULL;
     int ret = -1;
 
@@ -121,20 +120,13 @@ test_virCapabilitiesFormat(const void *opaque)
                     abs_srcdir, data->filename) < 0)
         goto cleanup;
 
-    if (virFileReadAll(path, 8192, &capsFromFile) < 0)
+    if (virtTestCompareToFile(capsXML, path) < 0)
         goto cleanup;
 
-
-    if (STRNEQ(capsXML, capsFromFile)) {
-        virtTestDifference(stderr, capsFromFile, capsXML);
-        goto cleanup;
-    }
-
     ret = 0;
 
  cleanup:
     VIR_FREE(path);
-    VIR_FREE(capsFromFile);
     VIR_FREE(capsXML);
     virObjectUnref(caps);
     return ret;
index ad49425b30190ca68db22ee469bff38ff1340d56..dddf33a016ed4db7ce56e4224417e910721dc7b6 100644 (file)
@@ -166,7 +166,6 @@ testCgroupDetectMounts(const void *args)
     const char *file = args;
     char *mounts = NULL;
     char *parsed = NULL;
-    char *expected = NULL;
     const char *actual;
     virCgroupPtr group = NULL;
     virBuffer buf = VIR_BUFFER_INITIALIZER;
@@ -182,9 +181,6 @@ testCgroupDetectMounts(const void *args)
     if (virCgroupDetectMountsFromFile(group, mounts, false) < 0)
         goto cleanup;
 
-    if (virtTestLoadFile(parsed, &expected) < 0)
-        goto cleanup;
-
     for (i = 0; i < VIR_CGROUP_CONTROLLER_LAST; i++) {
         virBufferAsprintf(&buf, "%-12s %s\n",
                           virCgroupControllerTypeToString(i),
@@ -194,17 +190,14 @@ testCgroupDetectMounts(const void *args)
         goto cleanup;
 
     actual = virBufferCurrentContent(&buf);
-    if (STRNEQ(expected, actual)) {
-        virtTestDifference(stderr, expected, actual);
+    if (virtTestCompareToFile(actual, parsed) < 0)
         goto cleanup;
-    }
 
     result = 0;
 
  cleanup:
     VIR_FREE(mounts);
     VIR_FREE(parsed);
-    VIR_FREE(expected);
     virCgroupFree(&group);
     virBufferFreeAndReset(&buf);
     return result;
index 69d2b43dc1ac17489f2a9662d10f756f0be22245..d3e33e634f4d43a565e32824127d41b6f66417d3 100644 (file)
@@ -72,16 +72,12 @@ testCompareFiles(const char *vmx, const char *xml)
 {
     int ret = -1;
     char *vmxData = NULL;
-    char *xmlData = NULL;
     char *formatted = NULL;
     virDomainDefPtr def = NULL;
 
     if (virtTestLoadFile(vmx, &vmxData) < 0)
         goto cleanup;
 
-    if (virtTestLoadFile(xml, &xmlData) < 0)
-        goto cleanup;
-
     if (!(def = virVMXParseConfig(&ctx, xmlopt, vmxData)))
         goto cleanup;
 
@@ -93,16 +89,13 @@ testCompareFiles(const char *vmx, const char *xml)
     if (!(formatted = virDomainDefFormat(def, VIR_DOMAIN_DEF_FORMAT_SECURE)))
         goto cleanup;
 
-    if (STRNEQ(xmlData, formatted)) {
-        virtTestDifference(stderr, xmlData, formatted);
+    if (virtTestCompareToFile(formatted, xml) < 0)
         goto cleanup;
-    }
 
     ret = 0;
 
  cleanup:
     VIR_FREE(vmxData);
-    VIR_FREE(xmlData);
     VIR_FREE(formatted);
     virDomainDefFree(def);
 
index 176850b30c4537c9871839e31f86cf9e0625349f..64392542d325602188c775c5b34af15f505d37db 100644 (file)
@@ -18,7 +18,6 @@ static int
 testCompareFiles(virArch hostmachine, const char *xml_rel,
                  const char *cpuinfo_rel, const char *capabilities_rel)
 {
-  char *expectxml = NULL;
   char *actualxml = NULL;
   FILE *fp1 = NULL, *fp2 = NULL;
   virCapsPtr caps = NULL;
@@ -34,9 +33,6 @@ testCompareFiles(virArch hostmachine, const char *xml_rel,
       virAsprintf(&capabilities, "%s/%s", abs_srcdir, capabilities_rel) < 0)
       goto fail;
 
-  if (virtTestLoadFile(xml, &expectxml) < 0)
-      goto fail;
-
   if (!(fp1 = fopen(cpuinfo, "r")))
       goto fail;
 
@@ -49,15 +45,12 @@ testCompareFiles(virArch hostmachine, const char *xml_rel,
   if (!(actualxml = virCapabilitiesFormatXML(caps)))
       goto fail;
 
-  if (STRNEQ(expectxml, actualxml)) {
-      virtTestDifference(stderr, expectxml, actualxml);
+  if (virtTestCompareToFile(actualxml, xml) < 0)
       goto fail;
-  }
 
   ret = 0;
 
  fail:
-  VIR_FREE(expectxml);
   VIR_FREE(actualxml);
   VIR_FREE(xml);
   VIR_FREE(cpuinfo);
index 899cb1b82be862871aeb8f836ca6a6de03dc4c08..0b47fbbe3c3d5b3222d3bd76ded3097f7f2b6be0 100644 (file)
@@ -48,7 +48,6 @@ static virDomainXMLOptionPtr xmlopt;
 static int
 testCompareParseXML(const char *xmcfg, const char *xml, int xendConfigVersion)
 {
-    char *xmcfgData = NULL;
     char *gotxmcfgData = NULL;
     virConfPtr conf = NULL;
     virConnectPtr conn = NULL;
@@ -62,9 +61,6 @@ testCompareParseXML(const char *xmcfg, const char *xml, int xendConfigVersion)
     conn = virGetConnect();
     if (!conn) goto fail;
 
-    if (virtTestLoadFile(xmcfg, &xmcfgData) < 0)
-        goto fail;
-
     if (!(def = virDomainDefParseFile(xml, caps, xmlopt,
                                       VIR_DOMAIN_XML_INACTIVE)))
         goto fail;
@@ -81,15 +77,12 @@ testCompareParseXML(const char *xmcfg, const char *xml, int xendConfigVersion)
         goto fail;
     gotxmcfgData[wrote] = '\0';
 
-    if (STRNEQ(xmcfgData, gotxmcfgData)) {
-        virtTestDifference(stderr, xmcfgData, gotxmcfgData);
+    if (virtTestCompareToFile(gotxmcfgData, xmcfg) < 0)
         goto fail;
-    }
 
     ret = 0;
 
  fail:
-    VIR_FREE(xmcfgData);
     VIR_FREE(gotxmcfgData);
     if (conf)
         virConfFree(conf);
@@ -104,7 +97,6 @@ testCompareParseXML(const char *xmcfg, const char *xml, int xendConfigVersion)
 static int
 testCompareFormatXML(const char *xmcfg, const char *xml, int xendConfigVersion)
 {
-    char *xmlData = NULL;
     char *xmcfgData = NULL;
     char *gotxml = NULL;
     virConfPtr conf = NULL;
@@ -115,9 +107,6 @@ testCompareFormatXML(const char *xmcfg, const char *xml, int xendConfigVersion)
     conn = virGetConnect();
     if (!conn) goto fail;
 
-    if (virtTestLoadFile(xml, &xmlData) < 0)
-        goto fail;
-
     if (virtTestLoadFile(xmcfg, &xmcfgData) < 0)
         goto fail;
 
@@ -131,17 +120,14 @@ testCompareFormatXML(const char *xmcfg, const char *xml, int xendConfigVersion)
                                       VIR_DOMAIN_XML_SECURE)))
         goto fail;
 
-    if (STRNEQ(xmlData, gotxml)) {
-        virtTestDifference(stderr, xmlData, gotxml);
+    if (virtTestCompareToFile(gotxml, xml) < 0)
         goto fail;
-    }
 
     ret = 0;
 
  fail:
     if (conf)
         virConfFree(conf);
-    VIR_FREE(xmlData);
     VIR_FREE(xmcfgData);
     VIR_FREE(gotxml);
     virDomainDefFree(def);
index 1d67c5b4e3fcf3ad18cb19f90a270517a4dd2116..79b09cacc0fa77c2dab4b20bd3fba89eeb4fbad4 100644 (file)
@@ -45,7 +45,6 @@ static virDomainXMLOptionPtr xmlopt;
 static int
 testCompareParseXML(const char *xmcfg, const char *xml, int xendConfigVersion)
 {
-    char *xmcfgData = NULL;
     char *gotxmcfgData = NULL;
     virConfPtr conf = NULL;
     int ret = -1;
@@ -60,9 +59,6 @@ testCompareParseXML(const char *xmcfg, const char *xml, int xendConfigVersion)
     conn = virGetConnect();
     if (!conn) goto fail;
 
-    if (virtTestLoadFile(xmcfg, &xmcfgData) < 0)
-        goto fail;
-
     /* Many puppies died to bring you this code. */
     priv.xendConfigVersion = xendConfigVersion;
     priv.caps = caps;
@@ -84,15 +80,12 @@ testCompareParseXML(const char *xmcfg, const char *xml, int xendConfigVersion)
         goto fail;
     gotxmcfgData[wrote] = '\0';
 
-    if (STRNEQ(xmcfgData, gotxmcfgData)) {
-        virtTestDifference(stderr, xmcfgData, gotxmcfgData);
+    if (virtTestCompareToFile(gotxmcfgData, xmcfg) < 0)
         goto fail;
-    }
 
     ret = 0;
 
  fail:
-    VIR_FREE(xmcfgData);
     VIR_FREE(gotxmcfgData);
     if (conf)
         virConfFree(conf);
@@ -105,7 +98,6 @@ testCompareParseXML(const char *xmcfg, const char *xml, int xendConfigVersion)
 static int
 testCompareFormatXML(const char *xmcfg, const char *xml, int xendConfigVersion)
 {
-    char *xmlData = NULL;
     char *xmcfgData = NULL;
     char *gotxml = NULL;
     virConfPtr conf = NULL;
@@ -117,9 +109,6 @@ testCompareFormatXML(const char *xmcfg, const char *xml, int xendConfigVersion)
     conn = virGetConnect();
     if (!conn) goto fail;
 
-    if (virtTestLoadFile(xml, &xmlData) < 0)
-        goto fail;
-
     if (virtTestLoadFile(xmcfg, &xmcfgData) < 0)
         goto fail;
 
@@ -137,17 +126,14 @@ testCompareFormatXML(const char *xmcfg, const char *xml, int xendConfigVersion)
     if (!(gotxml = virDomainDefFormat(def, VIR_DOMAIN_DEF_FORMAT_SECURE)))
         goto fail;
 
-    if (STRNEQ(xmlData, gotxml)) {
-        virtTestDifference(stderr, xmlData, gotxml);
+    if (virtTestCompareToFile(gotxml, xml) < 0)
         goto fail;
-    }
 
     ret = 0;
 
  fail:
     if (conf)
         virConfFree(conf);
-    VIR_FREE(xmlData);
     VIR_FREE(xmcfgData);
     VIR_FREE(gotxml);
     virDomainDefFree(def);
index 32c8a32c3dd4ae110f9ec42ff853b54d4f4f46b3..47c9db844834dcc1db6a61b2cdadb5a61e92e35b 100644 (file)
@@ -23,14 +23,10 @@ static virDomainXMLOptionPtr xmlopt;
 static int
 testCompareFiles(const char *xml, const char *sexpr, int xendConfigVersion)
 {
-  char *sexprData = NULL;
   char *gotsexpr = NULL;
   int ret = -1;
   virDomainDefPtr def = NULL;
 
-  if (virtTestLoadFile(sexpr, &sexprData) < 0)
-      goto fail;
-
   if (!(def = virDomainDefParseFile(xml, caps, xmlopt,
                                     VIR_DOMAIN_DEF_PARSE_INACTIVE)))
       goto fail;
@@ -43,15 +39,12 @@ testCompareFiles(const char *xml, const char *sexpr, int xendConfigVersion)
   if (!(gotsexpr = xenFormatSxpr(NULL, def, xendConfigVersion)))
       goto fail;
 
-  if (STRNEQ(sexprData, gotsexpr)) {
-      virtTestDifference(stderr, sexprData, gotsexpr);
+  if (virtTestCompareToFile(gotsexpr, sexpr) < 0)
       goto fail;
-  }
 
   ret = 0;
 
  fail:
-  VIR_FREE(sexprData);
   VIR_FREE(gotsexpr);
   virDomainDefFree(def);
 
index 6d7d4c23ce08b990b846c2b5ee89536a2c21cb8b..357f1e60d3344c20a272ffd9b14ba16ec7bb4fbc 100644 (file)
@@ -73,13 +73,9 @@ static int
 testCompareFiles(const char *xml, const char *vmx, int virtualHW_version)
 {
     int result = -1;
-    char *vmxData = NULL;
     char *formatted = NULL;
     virDomainDefPtr def = NULL;
 
-    if (virtTestLoadFile(vmx, &vmxData) < 0)
-        goto failure;
-
     def = virDomainDefParseFile(xml, caps, xmlopt,
                                 VIR_DOMAIN_DEF_PARSE_INACTIVE);
 
@@ -92,19 +88,15 @@ testCompareFiles(const char *xml, const char *vmx, int virtualHW_version)
     }
 
     formatted = virVMXFormatConfig(&ctx, xmlopt, def, virtualHW_version);
-
     if (formatted == NULL)
         goto failure;
 
-    if (STRNEQ(vmxData, formatted)) {
-        virtTestDifference(stderr, vmxData, formatted);
+    if (virtTestCompareToFile(formatted, vmx) < 0)
         goto failure;
-    }
 
     result = 0;
 
  failure:
-    VIR_FREE(vmxData);
     VIR_FREE(formatted);
     virDomainDefFree(def);