]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
tests: add testQemuGetLatestCaps
authorCole Robinson <crobinso@redhat.com>
Sun, 31 Mar 2019 16:43:44 +0000 (12:43 -0400)
committerCole Robinson <crobinso@redhat.com>
Wed, 10 Apr 2019 23:12:42 +0000 (19:12 -0400)
Move the capslatest building from qemuxml2argv to testutilsqemu

Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Signed-off-by: Cole Robinson <crobinso@redhat.com>
tests/qemuxml2argvtest.c
tests/testutilsqemu.c
tests/testutilsqemu.h

index 9bc5303dd8b6adab29a5d96123adb1ffe504768f..498892c4fd7537692bce73707f9a5f0ea4a62008 100644 (file)
@@ -593,15 +593,8 @@ testInfoSetPaths(struct testQemuInfo *info,
 static int
 mymain(void)
 {
-    int ret = 0, i;
+    int ret = 0;
     char *fakerootdir;
-    const char *archs[] = {
-        "aarch64",
-        "ppc64",
-        "riscv64",
-        "s390x",
-        "x86_64",
-    };
     virHashTablePtr capslatest = NULL;
 
     if (VIR_STRDUP_QUIET(fakerootdir, FAKEROOTDIRTEMPLATE) < 0) {
@@ -670,24 +663,10 @@ mymain(void)
     if (VIR_STRDUP(driver.config->nvramDir, "/var/lib/libvirt/qemu/nvram") < 0)
         return EXIT_FAILURE;
 
-    capslatest = virHashCreate(4, virHashValueFree);
+    capslatest = testQemuGetLatestCaps();
     if (!capslatest)
         return EXIT_FAILURE;
 
-    VIR_TEST_VERBOSE("\n");
-
-    for (i = 0; i < ARRAY_CARDINALITY(archs); ++i) {
-        char *cap = testQemuGetLatestCapsForArch(abs_srcdir "/qemucapabilitiesdata",
-                                                 archs[i], "xml");
-
-        if (!cap || virHashAddEntry(capslatest, archs[i], cap) < 0)
-            return EXIT_FAILURE;
-
-        VIR_TEST_VERBOSE("latest caps for %s: %s\n", archs[i], cap);
-    }
-
-    VIR_TEST_VERBOSE("\n");
-
     virFileWrapperAddPrefix(SYSCONFDIR "/qemu/firmware",
                             abs_srcdir "/qemufirmwaredata/etc/qemu/firmware");
     virFileWrapperAddPrefix(PREFIX "/share/qemu/firmware",
index 6286c7b3c7973732ce24f9c2faf920a8b5a5e552..3ee8a0c6c62f501d8acf1243f51196ab90fc2dd5 100644 (file)
@@ -867,6 +867,43 @@ testQemuGetLatestCapsForArch(const char *dirname,
 }
 
 
+virHashTablePtr
+testQemuGetLatestCaps(void)
+{
+    const char *archs[] = {
+        "aarch64",
+        "ppc64",
+        "riscv64",
+        "s390x",
+        "x86_64",
+    };
+    virHashTablePtr capslatest;
+    size_t i;
+
+    if (!(capslatest = virHashCreate(4, virHashValueFree)))
+        goto error;
+
+    VIR_TEST_VERBOSE("\n");
+
+    for (i = 0; i < ARRAY_CARDINALITY(archs); ++i) {
+        char *cap = testQemuGetLatestCapsForArch(abs_srcdir "/qemucapabilitiesdata",
+                                                 archs[i], "xml");
+
+        if (!cap || virHashAddEntry(capslatest, archs[i], cap) < 0)
+            goto error;
+
+        VIR_TEST_VERBOSE("latest caps for %s: %s\n", archs[i], cap);
+    }
+
+    VIR_TEST_VERBOSE("\n");
+    return capslatest;
+
+ error:
+    virHashFree(capslatest);
+    return NULL;
+}
+
+
 int
 testQemuCapsIterate(const char *dirname,
                     const char *suffix,
index 0cb5489ff4c23ecea767ab87b5339df279038c6e..9ff34841ff6c1a81ac91ad1497c3a01d182c0506 100644 (file)
@@ -93,6 +93,7 @@ int testQemuCapsSetGIC(virQEMUCapsPtr qemuCaps,
 char *testQemuGetLatestCapsForArch(const char *dirname,
                                    const char *arch,
                                    const char *suffix);
+virHashTablePtr testQemuGetLatestCaps(void);
 
 typedef int (*testQemuCapsIterateCallback)(const char *base,
                                            const char *archName,