From 6fa656384ee59f92cd96ef3c2bb23f4e40360b38 Mon Sep 17 00:00:00 2001
From: Cole Robinson <crobinso@redhat.com>
Date: Thu, 21 Mar 2019 15:16:21 -0400
Subject: [PATCH] tests: qemuxml2argv: report error on ARG_* collisions

* ARG_CAPS_ARCH must be specified with ARG_CAPS_VER
* ARG_QEMU_CAPS shouldn't be specified with ARG_CAPS_*

Reviewed-by: Andrea Bolognani <abologna@redhat.com>
Signed-off-by: Cole Robinson <crobinso@redhat.com>
---
 tests/qemuxml2argvtest.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 3db0da241d..20fef8f672 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -688,6 +688,18 @@ testInfoSetArgs(struct testInfo *info,
         }
     }
 
+    if (!!capsarch ^ !!capsver) {
+        fprintf(stderr, "ARG_CAPS_ARCH and ARG_CAPS_VER "
+                        "must be specified together.\n");
+        goto cleanup;
+    }
+
+    if (qemuCaps && (capsarch || capsver)) {
+        fprintf(stderr, "ARG_QEMU_CAPS can not be combined with ARG_CAPS_ARCH "
+                        "or ARG_CAPS_VER\n");
+        goto cleanup;
+    }
+
     if (!qemuCaps && capsarch && capsver) {
         bool stripmachinealiases = false;
 
-- 
GitLab