[libvirt] [PATCH 03/12] tests: cleanup qemuxml2argvtest

Pavel Hrdina phrdina at redhat.com
Tue Mar 15 13:15:59 UTC 2016


This removes the testFailed magic and makes the code more readable.

Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
---
 tests/qemuxml2argvtest.c | 62 ++++++++++++++++++++++--------------------------
 1 file changed, 28 insertions(+), 34 deletions(-)

diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index e15da37..150a50d 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -265,7 +265,6 @@ static int testCompareXMLToArgvFiles(const char *xml,
     virCommandPtr cmd = NULL;
     size_t i;
     virBitmapPtr nodeset = NULL;
-    bool testFailed = false;
     char *domainLibDir = NULL;
     char *domainChannelTargetDir = NULL;
 
@@ -280,8 +279,7 @@ static int testCompareXMLToArgvFiles(const char *xml,
     if (!(vmdef = virDomainDefParseFile(xml, driver.caps, driver.xmlopt,
                                         (VIR_DOMAIN_DEF_PARSE_INACTIVE |
                                          parseFlags)))) {
-        if (!virtTestOOMActive() &&
-            (flags & FLAG_EXPECT_PARSE_ERROR))
+        if (flags & FLAG_EXPECT_PARSE_ERROR)
             goto ok;
         goto out;
     }
@@ -349,39 +347,22 @@ static int testCompareXMLToArgvFiles(const char *xml,
             goto out;
     }
 
-    if (qemuProcessStartValidate(vmdef, extraFlags, !!migrateURI, false) < 0)
-        testFailed = true;
+    if (qemuProcessStartValidate(vmdef, extraFlags, !!migrateURI, false) < 0) {
+        if (flags & FLAG_EXPECT_FAILURE)
+            goto ok;
+        goto out;
+    }
 
-    if (!testFailed &&
-        !(cmd = qemuBuildCommandLine(conn, &driver, NULL, vmdef, &monitor_chr,
+    if (!(cmd = qemuBuildCommandLine(conn, &driver, NULL, vmdef, &monitor_chr,
                                      (flags & FLAG_JSON), extraFlags,
                                      migrateURI, NULL,
                                      VIR_NETDEV_VPORT_PROFILE_OP_NO_OP,
                                      &testCallbacks, false,
                                      (flags & FLAG_FIPS),
                                      nodeset, NULL, NULL,
-                                     domainLibDir, domainChannelTargetDir)))
-        testFailed = true;
-
-    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);
+                                     domainLibDir, domainChannelTargetDir))) {
+        if (flags & FLAG_EXPECT_FAILURE)
+            goto ok;
         goto out;
     }
 
@@ -391,15 +372,28 @@ static int testCompareXMLToArgvFiles(const char *xml,
     if (virtTestCompareToFile(actualargv, cmdline) < 0)
         goto out;
 
+    ret = 0;
+
  ok:
-    if (!virtTestOOMActive() &&
-        (flags & FLAG_EXPECT_ERROR)) {
-        /* need to suppress the errors */
+    if (ret == 0 &&
+        ((flags & FLAG_EXPECT_ERROR) |
+         (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();
+        ret = 0;
     }
 
-    ret = 0;
-
  out:
     VIR_FREE(log);
     VIR_FREE(actualargv);
-- 
2.7.2




More information about the libvir-list mailing list