[libvirt] [PATCH 2/9] tests: add macro for dealing with exclusive flags

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


We can reject some non-sensical combinations with an error
message, once we add flags for them.

Introduce a macro to make this easier.

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

diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 04b6c00eba..b04cf7c923 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -467,6 +467,21 @@ testCompareXMLToStartupXML(const void *data)
 }
 
 
+# define TEST_EXCLUSIVE_FLAGS(FLAG1, FLAG2) \
+    if ((testFlags & FLAG1) && (testFlags & FLAG2)) { \
+        VIR_TEST_DEBUG("Flags %s and %s are mutually exclusive\n", \
+                       #FLAG1, #FLAG2); \
+        return -1; \
+    }
+
+
+static int
+testCheckExclusiveFlags(int testFlags ATTRIBUTE_UNUSED)
+{
+    return 0;
+}
+
+
 static int
 testCompareXMLToArgv(const void *data)
 {
@@ -509,6 +524,9 @@ testCompareXMLToArgv(const void *data)
     if (virQEMUCapsGet(info->qemuCaps, QEMU_CAPS_ENABLE_FIPS))
         flags |= FLAG_FIPS;
 
+    if (testCheckExclusiveFlags(info->flags) < 0)
+        goto cleanup;
+
     if (qemuTestCapsCacheInsert(driver.qemuCapsCache, info->qemuCaps) < 0)
         goto cleanup;
 
-- 
2.16.4




More information about the libvir-list mailing list