qemuxml2xmltesttest: Avoid conditions in test macro

Pass a pointer to the 'ret' variable to the test executor itself and
update it there to improve compile times of the test.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2021-08-17 16:35:20 +02:00
parent ca5c8e1dc7
commit 510b951d9c

View File

@ -50,13 +50,16 @@ testXML2XMLActive(const void *opaque)
{ {
const struct testQemuInfo *info = opaque; const struct testQemuInfo *info = opaque;
if (testXML2XMLCommon(info) < 0) if (testXML2XMLCommon(info) < 0 ||
return -1; testCompareDomXML2XMLFiles(driver.caps, driver.xmlopt,
return testCompareDomXML2XMLFiles(driver.caps, driver.xmlopt,
info->infile, info->outfile, true, info->infile, info->outfile, true,
info->parseFlags, info->parseFlags,
TEST_COMPARE_DOM_XML2XML_RESULT_SUCCESS); TEST_COMPARE_DOM_XML2XML_RESULT_SUCCESS) < 0) {
*info->conf->retptr = -1;
return -1;
}
return 0;
} }
@ -65,13 +68,16 @@ testXML2XMLInactive(const void *opaque)
{ {
const struct testQemuInfo *info = opaque; const struct testQemuInfo *info = opaque;
if (testXML2XMLCommon(info) < 0) if (testXML2XMLCommon(info) < 0 ||
return -1; testCompareDomXML2XMLFiles(driver.caps, driver.xmlopt,
return testCompareDomXML2XMLFiles(driver.caps, driver.xmlopt,
info->infile, info->outfile, false, info->infile, info->outfile, false,
info->parseFlags, info->parseFlags,
TEST_COMPARE_DOM_XML2XML_RESULT_SUCCESS); TEST_COMPARE_DOM_XML2XML_RESULT_SUCCESS) < 0) {
*info->conf->retptr = -1;
return -1;
}
return 0;
} }
@ -113,7 +119,7 @@ mymain(void)
struct testQemuConf testConf = { .capslatest = capslatest, struct testQemuConf testConf = { .capslatest = capslatest,
.capscache = capscache, .capscache = capscache,
.qapiSchemaCache = NULL, .qapiSchemaCache = NULL,
.retptr = NULL }; .retptr = &ret };
if (!capslatest) if (!capslatest)
return EXIT_FAILURE; return EXIT_FAILURE;
@ -162,16 +168,12 @@ mymain(void)
\ \
if (when & WHEN_INACTIVE) { \ if (when & WHEN_INACTIVE) { \
testInfoSetPaths(&info, suffix, WHEN_INACTIVE); \ testInfoSetPaths(&info, suffix, WHEN_INACTIVE); \
if (virTestRun("QEMU XML-2-XML-inactive " _name, \ virTestRun("QEMU XML-2-XML-inactive " _name, testXML2XMLInactive, &info); \
testXML2XMLInactive, &info) < 0) \
ret = -1; \
} \ } \
\ \
if (when & WHEN_ACTIVE) { \ if (when & WHEN_ACTIVE) { \
testInfoSetPaths(&info, suffix, WHEN_ACTIVE); \ testInfoSetPaths(&info, suffix, WHEN_ACTIVE); \
if (virTestRun("QEMU XML-2-XML-active " _name, \ virTestRun("QEMU XML-2-XML-active " _name, testXML2XMLActive, &info); \
testXML2XMLActive, &info) < 0) \
ret = -1; \
} \ } \
testQemuInfoClear(&info); \ testQemuInfoClear(&info); \
} while (0) } while (0)