]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
tests: qemuxml2argv: Use virXMLParse properly
authorPeter Krempa <pkrempa@redhat.com>
Thu, 22 Sep 2022 13:58:16 +0000 (15:58 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 6 Oct 2022 08:54:24 +0000 (10:54 +0200)
Don't validate the root node and don't allocate a private XPath context
when virXMLParse can do that internally.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
tests/qemuxml2argvtest.c

index 825273c8c6ac5c05ca25f22cbc273aaf14510f06..4722c79a4f8a41dd051c924fe78e6a20e730a877 100644 (file)
@@ -626,7 +626,6 @@ testCompareXMLToArgv(const void *data)
     qemuDomainObjPrivate *priv = NULL;
     g_autoptr(xmlDoc) xml = NULL;
     g_autoptr(xmlXPathContext) ctxt = NULL;
-    xmlNodePtr root;
     g_autofree char *archstr = NULL;
     virArch arch = VIR_ARCH_NONE;
     g_autoptr(virIdentity) sysident = virIdentityGetSystem();
@@ -673,21 +672,9 @@ testCompareXMLToArgv(const void *data)
         goto cleanup;
 
     if (!(xml = virXMLParse(info->infile, NULL, "(domain_definition)",
-                            NULL, NULL, NULL, false)))
+                            "domain", &ctxt, NULL, false)))
         goto cleanup;
 
-    root = xmlDocGetRootElement(xml);
-    if (!virXMLNodeNameEqual(root, "domain")) {
-        VIR_TEST_VERBOSE("unexpected root element <%s>, expecting <domain>",
-                         root->name);
-        goto cleanup;
-    }
-
-    if (!(ctxt = virXMLXPathContextNew(xml)))
-        goto cleanup;
-
-    ctxt->node = root;
-
     if ((archstr = virXPathString("string(./os/type[1]/@arch)", ctxt)))
         arch = virArchFromString(archstr);
 
@@ -722,7 +709,7 @@ testCompareXMLToArgv(const void *data)
 
     parseFlags |= VIR_DOMAIN_DEF_PARSE_INACTIVE;
 
-    if (!(vm->def = virDomainDefParseNode(xml, root, driver.xmlopt, NULL,
+    if (!(vm->def = virDomainDefParseNode(xml, ctxt->node, driver.xmlopt, NULL,
                                           parseFlags))) {
         err = virGetLastError();
         if (!err) {