]> xenbits.xensource.com Git - libvirt.git/commitdiff
tests: cleanup qemuxml2argvtest
authorPavel Hrdina <phrdina@redhat.com>
Mon, 14 Mar 2016 09:37:40 +0000 (10:37 +0100)
committerPavel Hrdina <phrdina@redhat.com>
Tue, 22 Mar 2016 14:15:48 +0000 (15:15 +0100)
This removes the testFailed magic and makes the code more readable.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
tests/qemuxml2argvtest.c

index 4fac77dd84e36a98dee821d31d67fa188b10c444..1748f31cbe4df714b8876f1f15327f472f5b9132 100644 (file)
@@ -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);