[libvirt] [PATCH 8/9] tests: turn skipLegacyCPUs into a flag

Ján Tomko jtomko at redhat.com
Sun Sep 9 02:10:35 UTC 2018


Make it obvious when it is used intentionally and error
out when used in combination with real capabilities.

Signed-off-by: Ján Tomko <jtomko at redhat.com>
---
 tests/qemuxml2argvtest.c | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 36fa99392a..1a137399d4 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -295,6 +295,7 @@ typedef enum {
     FLAG_FIPS               = 1 << 2,
     FLAG_STEAL_VM           = 1 << 3,
     FLAG_REAL_CAPS          = 1 << 4,
+    FLAG_SKIP_LEGACY_CPUS   = 1 << 5,
 } virQemuXML2ArgvTestFlags;
 
 struct testInfo {
@@ -305,7 +306,6 @@ struct testInfo {
     int migrateFd;
     unsigned int flags;
     unsigned int parseFlags;
-    bool skipLegacyCPUs;
     virDomainObjPtr vm;
 };
 
@@ -414,7 +414,8 @@ testUpdateQEMUCaps(const struct testInfo *info,
 
     virQEMUCapsInitQMPBasicArch(info->qemuCaps);
 
-    if (testAddCPUModels(info->qemuCaps, info->skipLegacyCPUs) < 0)
+    if (testAddCPUModels(info->qemuCaps,
+                         !!(info->flags & FLAG_SKIP_LEGACY_CPUS)) < 0)
         goto cleanup;
 
     virQEMUCapsFreeHostCPUModel(info->qemuCaps, caps->host.arch,
@@ -477,6 +478,7 @@ testCheckExclusiveFlags(int testFlags ATTRIBUTE_UNUSED)
 {
     TEST_EXCLUSIVE_FLAGS(FLAG_STEAL_VM, FLAG_EXPECT_FAILURE);
     TEST_EXCLUSIVE_FLAGS(FLAG_STEAL_VM, FLAG_EXPECT_PARSE_ERROR);
+    TEST_EXCLUSIVE_FLAGS(FLAG_REAL_CAPS, FLAG_SKIP_LEGACY_CPUS);
     return 0;
 }
 
@@ -673,7 +675,6 @@ mymain(void)
 {
     int ret = 0, i;
     char *fakerootdir;
-    bool skipLegacyCPUs = false;
     const char *archs[] = {
         "aarch64",
         "ppc64",
@@ -787,9 +788,8 @@ mymain(void)
     do { \
         static struct testInfo info = { \
             name, "." suffix, NULL, migrateFrom, migrateFrom ? 7 : -1,\
-            (flags | FLAG_REAL_CAPS), parseFlags, false, NULL \
+            (flags | FLAG_REAL_CAPS), parseFlags, NULL \
         }; \
-        info.skipLegacyCPUs = skipLegacyCPUs; \
         if (!(info.qemuCaps = qemuTestParseCapabilitiesArch(virArchFromString(arch), \
                                                             capsfile))) \
             return EXIT_FAILURE; \
@@ -836,9 +836,8 @@ mymain(void)
     do { \
         static struct testInfo info = { \
             name, NULL, NULL, migrateFrom, migrateFd, (flags), parseFlags, \
-            false, NULL \
+            NULL \
         }; \
-        info.skipLegacyCPUs = skipLegacyCPUs; \
         if (testInitQEMUCaps(&info, gic) < 0) \
             return EXIT_FAILURE; \
         virQEMUCapsSetList(info.qemuCaps, __VA_ARGS__, QEMU_CAPS_LAST); \
@@ -1749,10 +1748,12 @@ mymain(void)
     DO_TEST("cpu-numa-memshared", QEMU_CAPS_OBJECT_MEMORY_FILE);
     DO_TEST("cpu-host-model", NONE);
     DO_TEST("cpu-host-model-vendor", NONE);
-    skipLegacyCPUs = true;
-    DO_TEST("cpu-host-model-fallback", NONE);
-    DO_TEST_FAILURE("cpu-host-model-nofallback", NONE);
-    skipLegacyCPUs = false;
+    DO_TEST_FULL("cpu-host-model-fallback", NULL, -1,
+                 FLAG_SKIP_LEGACY_CPUS, 0,
+                 GIC_NONE, NONE);
+    DO_TEST_FULL("cpu-host-model-nofallback", NULL, -1,
+                 FLAG_SKIP_LEGACY_CPUS | FLAG_EXPECT_FAILURE,
+                 0, GIC_NONE, NONE);
     DO_TEST("cpu-host-passthrough", QEMU_CAPS_KVM);
     DO_TEST_FAILURE("cpu-qemu-host-passthrough", QEMU_CAPS_KVM);
 
-- 
2.16.4




More information about the libvir-list mailing list