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;
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);
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;
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;
bool updateCPU)
{
char *xml = NULL;
- char *expected = NULL;
char *actual = NULL;
int ret = -1;
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;
}
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)))
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);
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;
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;
static int
testCompareXMLToConfFiles(const char *inxml, const char *outconf, dnsmasqCapsPtr caps)
{
- char *outConfData = NULL;
char *actual = NULL;
int ret = -1;
virNetworkDefPtr dev = NULL;
char *pidfile = NULL;
dnsmasqContext *dctx = NULL;
- if (virtTestLoadFile(outconf, &outConfData) < 0)
- goto fail;
-
if (!(dev = virNetworkDefParseFile(inxml)))
goto fail;
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);
const char *cmdline)
{
char *expectargv = NULL;
- int len;
char *actualargv = NULL;
virBuffer buf = VIR_BUFFER_INITIALIZER;
virNetworkDefPtr def = NULL;
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:
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;
int parentIndex, bool expectFailure)
{
char *updateXmlData = NULL;
- char *outXmlData = NULL;
char *actual = NULL;
int ret = -1;
virNetworkDefPtr def = NULL;
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;
}
error:
VIR_FREE(updateXmlData);
- VIR_FREE(outXmlData);
VIR_FREE(actual);
virNetworkDefFree(def);
return ret;
{
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",
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;
}
{
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;
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;
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);
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);
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))) {
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;
#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 {
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;
abs_srcdir, data->base) < 0)
goto cleanup;
- if (virtTestLoadFile(xmlFile, &xmlData) < 0)
- goto cleanup;
-
if (virtTestLoadFile(capsFile, &capsData) < 0)
goto cleanup;
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;
}
char *jsonFile = NULL;
char *dataFile = NULL;
char *jsonStr = NULL;
- char *expected = NULL;
char *actual = NULL;
int ret = -1;
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",
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);
int migrateFd,
virQemuXML2ArgvTestFlags flags)
{
- char *expectargv = NULL;
- int len;
char *actualargv = NULL;
int ret = -1;
virDomainDefPtr vmdef = NULL;
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() &&
out:
VIR_FREE(log);
- VIR_FREE(expectargv);
VIR_FREE(actualargv);
virCommandFree(cmd);
virDomainDefFree(vmdef);
bool json,
bool expectError)
{
- char *expectargv = NULL;
- int len;
char *actualargv = NULL;
int ret = -1;
virDomainDefPtr vmdef = NULL;
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;
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);
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;
static int
testCompareFiles(const char *xml, const char *sexpr, int xendConfigVersion)
{
- char *xmlData = NULL;
char *sexprData = NULL;
char *gotxml = NULL;
int id;
conn = virGetConnect();
if (!conn) goto fail;
- if (virtTestLoadFile(xml, &xmlData) < 0)
- goto fail;
-
if (virtTestLoadFile(sexpr, &sexprData) < 0)
goto fail;
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);
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;
int imgformat,
unsigned long parse_flags)
{
- char *expectedCmdline = NULL;
char *actualCmdline = NULL;
int ret = -1;
- int len;
-
virCommandPtr cmd = NULL;
virConnectPtr conn;
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;
virStorageVolDefFree(inputvol);
virCommandFree(cmd);
VIR_FREE(actualCmdline);
- VIR_FREE(expectedCmdline);
virObjectUnref(conn);
return ret;
}
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;
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);
testSysinfo(const void *data)
{
int result = -1;
- char *sysfsExpectData = NULL;
const char *sysfsActualData;
virSysinfoDefPtr ret = NULL;
virBuffer buf = VIR_BUFFER_INITIALIZER;
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;
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);
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)
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);
struct virCapabilitiesFormatData *data = (struct virCapabilitiesFormatData *) opaque;
virCapsPtr caps = NULL;
char *capsXML = NULL;
- char *capsFromFile = NULL;
char *path = NULL;
int ret = -1;
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;
const char *file = args;
char *mounts = NULL;
char *parsed = NULL;
- char *expected = NULL;
const char *actual;
virCgroupPtr group = NULL;
virBuffer buf = VIR_BUFFER_INITIALIZER;
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),
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;
{
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;
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);
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;
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;
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);
static int
testCompareParseXML(const char *xmcfg, const char *xml, int xendConfigVersion)
{
- char *xmcfgData = NULL;
char *gotxmcfgData = NULL;
virConfPtr conf = NULL;
virConnectPtr conn = NULL;
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;
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);
static int
testCompareFormatXML(const char *xmcfg, const char *xml, int xendConfigVersion)
{
- char *xmlData = NULL;
char *xmcfgData = NULL;
char *gotxml = NULL;
virConfPtr conf = NULL;
conn = virGetConnect();
if (!conn) goto fail;
- if (virtTestLoadFile(xml, &xmlData) < 0)
- goto fail;
-
if (virtTestLoadFile(xmcfg, &xmcfgData) < 0)
goto fail;
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);
static int
testCompareParseXML(const char *xmcfg, const char *xml, int xendConfigVersion)
{
- char *xmcfgData = NULL;
char *gotxmcfgData = NULL;
virConfPtr conf = NULL;
int ret = -1;
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;
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);
static int
testCompareFormatXML(const char *xmcfg, const char *xml, int xendConfigVersion)
{
- char *xmlData = NULL;
char *xmcfgData = NULL;
char *gotxml = NULL;
virConfPtr conf = NULL;
conn = virGetConnect();
if (!conn) goto fail;
- if (virtTestLoadFile(xml, &xmlData) < 0)
- goto fail;
-
if (virtTestLoadFile(xmcfg, &xmcfgData) < 0)
goto fail;
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);
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;
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);
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);
}
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);