提交 c3748519 编写于 作者: P Pavel Hrdina

tests: cleanup qemuxml2argvtest

This removes the testFailed magic and makes the code more readable.
Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
上级 15ad2ecf
...@@ -265,7 +265,6 @@ static int testCompareXMLToArgvFiles(const char *xml, ...@@ -265,7 +265,6 @@ static int testCompareXMLToArgvFiles(const char *xml,
virCommandPtr cmd = NULL; virCommandPtr cmd = NULL;
size_t i; size_t i;
virBitmapPtr nodeset = NULL; virBitmapPtr nodeset = NULL;
bool testFailed = false;
char *domainLibDir = NULL; char *domainLibDir = NULL;
char *domainChannelTargetDir = NULL; char *domainChannelTargetDir = NULL;
...@@ -280,8 +279,7 @@ static int testCompareXMLToArgvFiles(const char *xml, ...@@ -280,8 +279,7 @@ static int testCompareXMLToArgvFiles(const char *xml,
if (!(vmdef = virDomainDefParseFile(xml, driver.caps, driver.xmlopt, if (!(vmdef = virDomainDefParseFile(xml, driver.caps, driver.xmlopt,
(VIR_DOMAIN_DEF_PARSE_INACTIVE | (VIR_DOMAIN_DEF_PARSE_INACTIVE |
parseFlags)))) { parseFlags)))) {
if (!virtTestOOMActive() && if (flags & FLAG_EXPECT_PARSE_ERROR)
(flags & FLAG_EXPECT_PARSE_ERROR))
goto ok; goto ok;
goto out; goto out;
} }
...@@ -349,39 +347,22 @@ static int testCompareXMLToArgvFiles(const char *xml, ...@@ -349,39 +347,22 @@ static int testCompareXMLToArgvFiles(const char *xml,
goto out; goto out;
} }
if (qemuProcessStartValidate(vmdef, extraFlags, !!migrateURI, false) < 0) if (qemuProcessStartValidate(vmdef, extraFlags, !!migrateURI, false) < 0) {
testFailed = true; if (flags & FLAG_EXPECT_FAILURE)
goto ok;
goto out;
}
if (!testFailed && if (!(cmd = qemuBuildCommandLine(conn, &driver, NULL, vmdef, &monitor_chr,
!(cmd = qemuBuildCommandLine(conn, &driver, NULL, vmdef, &monitor_chr,
(flags & FLAG_JSON), extraFlags, (flags & FLAG_JSON), extraFlags,
migrateURI, NULL, migrateURI, NULL,
VIR_NETDEV_VPORT_PROFILE_OP_NO_OP, VIR_NETDEV_VPORT_PROFILE_OP_NO_OP,
&testCallbacks, false, &testCallbacks, false,
(flags & FLAG_FIPS), (flags & FLAG_FIPS),
nodeset, NULL, NULL, nodeset, NULL, NULL,
domainLibDir, domainChannelTargetDir))) domainLibDir, domainChannelTargetDir))) {
testFailed = true; if (flags & FLAG_EXPECT_FAILURE)
goto ok;
if (testFailed) {
if (!virtTestOOMActive() &&
(flags & FLAG_EXPECT_FAILURE)) {
ret = 0;
VIR_TEST_DEBUG("Got expected error: %s\n",
virGetLastErrorMessage());
virResetLastError();
}
goto out;
} else if (flags & FLAG_EXPECT_FAILURE) {
VIR_TEST_DEBUG("qemuBuildCommandLine or qemuProcessStartValidate "
"should have failed\n");
goto out;
}
if (!virtTestOOMActive() &&
(!!virGetLastError() != !!(flags & FLAG_EXPECT_ERROR))) {
if ((log = virtTestLogContentAndReset()))
VIR_TEST_DEBUG("\n%s", log);
goto out; goto out;
} }
...@@ -391,15 +372,28 @@ static int testCompareXMLToArgvFiles(const char *xml, ...@@ -391,15 +372,28 @@ static int testCompareXMLToArgvFiles(const char *xml,
if (virtTestCompareToFile(actualargv, cmdline) < 0) if (virtTestCompareToFile(actualargv, cmdline) < 0)
goto out; goto out;
ret = 0;
ok: ok:
if (!virtTestOOMActive() && if (ret == 0 &&
(flags & FLAG_EXPECT_ERROR)) { ((flags & FLAG_EXPECT_ERROR) ||
/* need to suppress the errors */ (flags & FLAG_EXPECT_FAILURE))) {
ret = -1;
VIR_TEST_DEBUG("Error expected but there wasn't any.\n");
goto out;
}
if (!virtTestOOMActive()) {
if (flags & FLAG_EXPECT_ERROR) {
if ((log = virtTestLogContentAndReset()))
VIR_TEST_DEBUG("Got expected error: \n%s", log);
} else if (flags & FLAG_EXPECT_FAILURE) {
VIR_TEST_DEBUG("Got expected failure: %s\n",
virGetLastErrorMessage());
}
virResetLastError(); virResetLastError();
ret = 0;
} }
ret = 0;
out: out:
VIR_FREE(log); VIR_FREE(log);
VIR_FREE(actualargv); VIR_FREE(actualargv);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册