[PATCH 06/31] qemuTestCapsCacheInsert*: Directly insert real capabilities

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Real capabilities populate the binary name, while fake don't. We can
directly insert the capabilities using the real binary name.

This will allow to remove 'qemu_emulators' entries once all tests are
converted to real capabilties.

Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx>
---
 tests/testutilsqemu.c | 34 ++++++++++++++++++++--------------
 1 file changed, 20 insertions(+), 14 deletions(-)

diff --git a/tests/testutilsqemu.c b/tests/testutilsqemu.c
index 9d7bc2ed51..588abf662d 100644
--- a/tests/testutilsqemu.c
+++ b/tests/testutilsqemu.c
@@ -530,24 +530,30 @@ qemuTestCapsCacheInsertImpl(virFileCache *cache,
          *
          * before populating the cache;
          */
-        virArch arch = virQEMUCapsGetArch(caps);
-        g_autoptr(virQEMUCaps) copyCaps = NULL;
-        virQEMUCaps *effCaps = caps;
+        /* caps->binary is populated only for real capabilities */
+        if (virQEMUCapsGetBinary(caps)) {
+            if (qemuTestCapsCacheInsertData(cache, virQEMUCapsGetBinary(caps), caps) < 0)
+                return -1;
+        } else {
+            virArch arch = virQEMUCapsGetArch(caps);
+            g_autoptr(virQEMUCaps) copyCaps = NULL;
+            virQEMUCaps *effCaps = caps;

-        if (arch_alias[arch] != VIR_ARCH_NONE)
-            arch = arch_alias[arch];
+            if (arch_alias[arch] != VIR_ARCH_NONE)
+                arch = arch_alias[arch];

-        if (qemu_emulators[arch]) {
-            /* if we are dealing with fake caps we need to populate machine types */
-            if (!virQEMUCapsHasMachines(caps)) {
-                if (!(copyCaps = effCaps = virQEMUCapsNewCopy(caps)))
-                    return -1;
+            if (qemu_emulators[arch]) {
+                /* if we are dealing with fake caps we need to populate machine types */
+                if (!virQEMUCapsHasMachines(caps)) {
+                    if (!(copyCaps = effCaps = virQEMUCapsNewCopy(caps)))
+                        return -1;

-                qemuTestCapsPopulateFakeMachines(copyCaps, arch, hostOS);
-            }
+                    qemuTestCapsPopulateFakeMachines(copyCaps, arch, hostOS);
+                }

-            if (qemuTestCapsCacheInsertData(cache, qemu_emulators[arch], effCaps) < 0)
-                return -1;
+                if (qemuTestCapsCacheInsertData(cache, qemu_emulators[arch], effCaps) < 0)
+                    return -1;
+            }
         }
     } else {
         /* in case when caps are missing or are missing architecture, we populate
-- 
2.39.2




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux