]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemublocktest: Load QMP schema earlier
authorPeter Krempa <pkrempa@redhat.com>
Mon, 9 Mar 2020 14:24:56 +0000 (15:24 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 16 Mar 2020 14:51:44 +0000 (15:51 +0100)
Multiple tests require the schema. Extract the loading into a separate
variable to avoid issues with ownership of the pointer.

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

index 96a3c7fc414396b2492ed543447d65d43b5463ea..735ba5cdde03ff99356c26b751ec218822d76476 100644 (file)
@@ -867,6 +867,7 @@ mymain(void)
     struct testQemuBlockBitmapBlockcopyData blockbitmapblockcopydata;
     char *capslatest_x86_64 = NULL;
     virQEMUCapsPtr caps_x86_64 = NULL;
+    g_autoptr(virHashTable) qmp_schema_x86_64 = NULL;
     g_autoptr(virStorageSource) bitmapSourceChain = NULL;
 
     if (qemuTestDriverInit(&driver) < 0)
@@ -889,6 +890,11 @@ mymain(void)
     diskxmljsondata.qemuCaps = caps_x86_64;
     imagecreatedata.qemuCaps = caps_x86_64;
 
+    if (!(qmp_schema_x86_64 = testQEMUSchemaLoad("x86_64"))) {
+        ret = -1;
+        goto cleanup;
+    }
+
     virTestCounterReset("qemu storage source xml->json->xml ");
 
 #define TEST_JSON_FORMAT(tpe, xmlstr) \
@@ -987,10 +993,7 @@ mymain(void)
 
 #define TEST_DISK_TO_JSON(nme) TEST_DISK_TO_JSON_FULL(nme, false)
 
-    if (!(diskxmljsondata.schema = testQEMUSchemaLoad("x86_64"))) {
-        ret = -1;
-        goto cleanup;
-    }
+    diskxmljsondata.schema = qmp_schema_x86_64;
 
     if (virQEMUQAPISchemaPathGet("blockdev-add/arg-type",
                                  diskxmljsondata.schema,
@@ -1049,7 +1052,9 @@ mymain(void)
                        &imagecreatedata) < 0) \
             ret = -1; \
     } while (0)
-    imagecreatedata.schema = diskxmljsondata.schema;
+
+    imagecreatedata.schema = qmp_schema_x86_64;
+
     if (virQEMUQAPISchemaPathGet("blockdev-create/arg-type/options",
                                  imagecreatedata.schema,
                                  &imagecreatedata.schemaroot) < 0 ||
@@ -1202,7 +1207,6 @@ mymain(void)
     TEST_BITMAP_BLOCKCOPY("snapshots-deep", false, "snapshots");
 
  cleanup:
-    virHashFree(diskxmljsondata.schema);
     qemuTestDriverFree(&driver);
     VIR_FREE(capslatest_x86_64);
     virObjectUnref(caps_x86_64);