[libvirt] [PATCHv2 2/7] tests: introduce macro for qemu XML->startup XML

Ján Tomko jtomko at redhat.com
Wed Sep 12 13:30:48 UTC 2018


Use this macro to indicate the intention to also
run the XML->startup XML test.

It sets the newly introduced FLAG_STEAL_VM flag,
which is the new witness for the XML->argv test
to leave the VM object behind.

This will allow us to report proper errors in
XML->startup tests.

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

diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 65fab6c077..0c82540ced 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -293,6 +293,7 @@ typedef enum {
     FLAG_EXPECT_FAILURE     = 1 << 0,
     FLAG_EXPECT_PARSE_ERROR = 1 << 1,
     FLAG_FIPS               = 1 << 2,
+    FLAG_STEAL_VM           = 1 << 3,
 } virQemuXML2ArgvTestFlags;
 
 struct testInfo {
@@ -471,6 +472,7 @@ testCheckExclusiveFlags(int flags)
     virCheckFlags(FLAG_EXPECT_FAILURE |
                   FLAG_EXPECT_PARSE_ERROR |
                   FLAG_FIPS |
+                  FLAG_STEAL_VM |
                   0, -1);
 
     return 0;
@@ -643,7 +645,7 @@ testCompareXMLToArgv(const void *data)
         ret = 0;
     }
 
-    if (!(flags & FLAG_EXPECT_FAILURE) && ret == 0)
+    if (flags & FLAG_STEAL_VM)
         VIR_STEAL_PTR(info->vm, vm);
 
  cleanup:
@@ -853,6 +855,9 @@ mymain(void)
 # define DO_TEST_GIC(name, gic, ...) \
     DO_TEST_FULL(name, NULL, -1, 0, 0, gic, __VA_ARGS__)
 
+# define DO_TEST_WITH_STARTUP(name, ...) \
+    DO_TEST_FULL(name, NULL, -1, FLAG_STEAL_VM, 0, GIC_NONE, __VA_ARGS__)
+
 # define DO_TEST_FAILURE(name, ...) \
     DO_TEST_FULL(name, NULL, -1, FLAG_EXPECT_FAILURE, \
                  0, GIC_NONE, __VA_ARGS__)
@@ -1092,7 +1097,7 @@ mymain(void)
     DO_TEST_PARSE_ERROR("disk-fmt-cow", NONE);
     DO_TEST_PARSE_ERROR("disk-fmt-dir", NONE);
     DO_TEST_PARSE_ERROR("disk-fmt-iso", NONE);
-    DO_TEST("disk-shared", NONE);
+    DO_TEST_WITH_STARTUP("disk-shared", NONE);
     DO_TEST_CAPS_VER("disk-shared", "2.12.0");
     DO_TEST_CAPS_LATEST("disk-shared");
     DO_TEST_PARSE_ERROR("disk-shared-qcow", NONE);
-- 
2.16.4




More information about the libvir-list mailing list