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(a)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