[libvirt] [PATCH] tests: Fix detection of expected errors

Jiri Denemark jdenemar at redhat.com
Mon Nov 29 13:14:52 UTC 2010


---
 tests/nwfilterxml2xmltest.c |   15 +++++----------
 tests/qemuxml2argvtest.c    |    8 +++-----
 2 files changed, 8 insertions(+), 15 deletions(-)

diff --git a/tests/nwfilterxml2xmltest.c b/tests/nwfilterxml2xmltest.c
index 070aa98..9cad913 100644
--- a/tests/nwfilterxml2xmltest.c
+++ b/tests/nwfilterxml2xmltest.c
@@ -25,7 +25,7 @@ static char *abs_srcdir;
 
 static int testCompareXMLToXMLFiles(const char *inxml,
                                     const char *outxml,
-                                    bool expect_warning) {
+                                    bool expect_error) {
     char inXmlData[MAX_FILE];
     char *inXmlPtr = &(inXmlData[0]);
     char outXmlData[MAX_FILE];
@@ -33,26 +33,21 @@ static int testCompareXMLToXMLFiles(const char *inxml,
     char *actual = NULL;
     int ret = -1;
     virNWFilterDefPtr dev = NULL;
-    char *log;
 
     if (virtTestLoadFile(inxml, &inXmlPtr, MAX_FILE) < 0)
         goto fail;
     if (virtTestLoadFile(outxml, &outXmlPtr, MAX_FILE) < 0)
         goto fail;
 
-    if (!(dev = virNWFilterDefParseString(NULL, inXmlData)))
-        goto fail;
+    virResetLastError();
 
-    if ((log = virtTestLogContentAndReset()) == NULL)
+    if (!(dev = virNWFilterDefParseString(NULL, inXmlData)))
         goto fail;
 
-    if ((*log != '\0') != expect_warning) {
-        free(log);
+    if (!!virGetLastError() != expect_error)
         goto fail;
-    }
-    free(log);
 
-    if (expect_warning) {
+    if (expect_error) {
         /* need to suppress the errors */
         virResetLastError();
     }
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index b149ef4..c5e0448 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -84,6 +84,7 @@ static int testCompareXMLToArgvFiles(const char *xml,
 
 
     free(virtTestLogContentAndReset());
+    virResetLastError();
 
     if (qemudBuildCommandLine(conn, &driver,
                               vmdef, &monitor_chr, 0, flags,
@@ -91,11 +92,8 @@ static int testCompareXMLToArgvFiles(const char *xml,
                               NULL, NULL, migrateFrom, NULL) < 0)
         goto fail;
 
-    if ((log = virtTestLogContentAndReset()) == NULL)
-        goto fail;
-
-    if (!!strstr(log, ": error :") != expectError) {
-        if (virTestGetDebug())
+    if (!!virGetLastError() != expectError) {
+        if (virTestGetDebug() && (log = virtTestLogContentAndReset()))
             fprintf(stderr, "\n%s", log);
         goto fail;
     }
-- 
1.7.3.2




More information about the libvir-list mailing list