]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
test: Introduce testOpenParse
authorCole Robinson <crobinso@redhat.com>
Mon, 27 Jun 2016 21:03:07 +0000 (17:03 -0400)
committerCole Robinson <crobinso@redhat.com>
Mon, 18 Jul 2016 15:18:47 +0000 (11:18 -0400)
src/test/test_driver.c

index 61f02077bfbfef2027a9b8ebe1c71bfebda1b684..3dfb3b6b65fd08e618bb244c3f8a883b87af7fd3 100644 (file)
@@ -1296,6 +1296,37 @@ testParseAuthUsers(testDriverPtr privconn,
     return ret;
 }
 
+static int
+testOpenParse(testDriverPtr privconn,
+              const char *file,
+              xmlXPathContextPtr ctxt)
+{
+    if (!xmlStrEqual(ctxt->node->name, BAD_CAST "node")) {
+        virReportError(VIR_ERR_XML_ERROR, "%s",
+                       _("Root element is not 'node'"));
+        goto error;
+    }
+
+    if (testParseNodeInfo(&privconn->nodeInfo, ctxt) < 0)
+        goto error;
+    if (testParseDomains(privconn, file, ctxt) < 0)
+        goto error;
+    if (testParseNetworks(privconn, file, ctxt) < 0)
+        goto error;
+    if (testParseInterfaces(privconn, file, ctxt) < 0)
+        goto error;
+    if (testParseStorage(privconn, file, ctxt) < 0)
+        goto error;
+    if (testParseNodedevs(privconn, file, ctxt) < 0)
+        goto error;
+    if (testParseAuthUsers(privconn, ctxt) < 0)
+        goto error;
+
+    return 0;
+ error:
+    return -1;
+}
+
 /* No shared state between simultaneous test connections initialized
  * from a file.  */
 static int
@@ -1317,28 +1348,10 @@ testOpenFromFile(virConnectPtr conn, const char *file)
     if (!(doc = virXMLParseFileCtxt(file, &ctxt)))
         goto error;
 
-    if (!xmlStrEqual(ctxt->node->name, BAD_CAST "node")) {
-        virReportError(VIR_ERR_XML_ERROR, "%s",
-                       _("Root element is not 'node'"));
-        goto error;
-    }
-
     privconn->numCells = 0;
     memmove(&privconn->nodeInfo, &defaultNodeInfo, sizeof(defaultNodeInfo));
 
-    if (testParseNodeInfo(&privconn->nodeInfo, ctxt) < 0)
-        goto error;
-    if (testParseDomains(privconn, file, ctxt) < 0)
-        goto error;
-    if (testParseNetworks(privconn, file, ctxt) < 0)
-        goto error;
-    if (testParseInterfaces(privconn, file, ctxt) < 0)
-        goto error;
-    if (testParseStorage(privconn, file, ctxt) < 0)
-        goto error;
-    if (testParseNodedevs(privconn, file, ctxt) < 0)
-        goto error;
-    if (testParseAuthUsers(privconn, ctxt) < 0)
+    if (testOpenParse(privconn, file, ctxt) < 0)
         goto error;
 
     xmlXPathFreeContext(ctxt);