]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemublocktest: Extract schema root for blockdev-add validation
authorPeter Krempa <pkrempa@redhat.com>
Mon, 9 Mar 2020 14:33:58 +0000 (15:33 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 16 Mar 2020 14:51:44 +0000 (15:51 +0100)
Move lookup of the schema root earlier so that multiple functions
can use it for validation.

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

index 735ba5cdde03ff99356c26b751ec218822d76476..f803c9c6b30178445b2fba933fa28364f21b25d1 100644 (file)
@@ -868,6 +868,7 @@ mymain(void)
     char *capslatest_x86_64 = NULL;
     virQEMUCapsPtr caps_x86_64 = NULL;
     g_autoptr(virHashTable) qmp_schema_x86_64 = NULL;
+    virJSONValuePtr qmp_schemaroot_x86_64_blockdev_add = NULL;
     g_autoptr(virStorageSource) bitmapSourceChain = NULL;
 
     if (qemuTestDriverInit(&driver) < 0)
@@ -895,6 +896,15 @@ mymain(void)
         goto cleanup;
     }
 
+    if (virQEMUQAPISchemaPathGet("blockdev-add/arg-type",
+                                 qmp_schema_x86_64,
+                                 &qmp_schemaroot_x86_64_blockdev_add) < 0 ||
+        !qmp_schemaroot_x86_64_blockdev_add) {
+        VIR_TEST_VERBOSE("failed to find schema entry for blockdev-add");
+        ret = -1;
+        goto cleanup;
+    }
+
     virTestCounterReset("qemu storage source xml->json->xml ");
 
 #define TEST_JSON_FORMAT(tpe, xmlstr) \
@@ -994,15 +1004,7 @@ mymain(void)
 #define TEST_DISK_TO_JSON(nme) TEST_DISK_TO_JSON_FULL(nme, false)
 
     diskxmljsondata.schema = qmp_schema_x86_64;
-
-    if (virQEMUQAPISchemaPathGet("blockdev-add/arg-type",
-                                 diskxmljsondata.schema,
-                                 &diskxmljsondata.schemaroot) < 0 ||
-        !diskxmljsondata.schemaroot) {
-        VIR_TEST_VERBOSE("failed to find schema entry for blockdev-add");
-        ret = -1;
-        goto cleanup;
-    }
+    diskxmljsondata.schemaroot = qmp_schemaroot_x86_64_blockdev_add;
 
     TEST_DISK_TO_JSON_FULL("nodename-long-format", true);
     TEST_DISK_TO_JSON_FULL("nodename-long-protocol", true);