[PATCH 10/15] qemumonitorjsontest: Add infrastructure for generated tests of deprecated commands

Peter Krempa pkrempa at redhat.com
Wed Apr 29 18:49:10 UTC 2020


For sanity-chcecking of deprecated commands which are still used on some
old code paths which used the simple generated test cases add a
mechanism to mark them as deprecated so schema checking can be skipped.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 tests/qemumonitorjsontest.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c
index fce88083b9..33bad45b96 100644
--- a/tests/qemumonitorjsontest.c
+++ b/tests/qemumonitorjsontest.c
@@ -46,6 +46,8 @@ struct _testQemuMonitorJSONSimpleFuncData {
     virDomainXMLOptionPtr xmlopt;
     const char *reply;
     virHashTablePtr schema;
+    bool allowDeprecated;
+    bool allowRemoved;
 };

 typedef struct _testGenericData testGenericData;
@@ -1278,6 +1280,9 @@ testQemuMonitorJSON ## funcName(const void *opaque) \
  \
     if (!(test = qemuMonitorTestNewSchema(xmlopt, data->schema))) \
         return -1; \
+ \
+    if (data->allowDeprecated) \
+        qemuMonitorTestSkipDeprecatedValidation(test, data->allowRemoved); \
  \
     if (!reply) \
         reply = "{\"return\":{}}"; \
@@ -3121,13 +3126,19 @@ mymain(void)
     if (virTestRun(# FNC, testQemuMonitorJSONSimpleFunc, &simpleFunc) < 0) \
         ret = -1

-#define DO_TEST_GEN(name, ...) \
+#define DO_TEST_GEN_FULL(name, dpr, rmvd, ...) \
     simpleFunc = (testQemuMonitorJSONSimpleFuncData) {.xmlopt = driver.xmlopt, \
+                                                      .allowDeprecated = dpr, \
+                                                      .allowRemoved = rmvd, \
                                                       .schema = qapiData.schema \
                                                      __VA_ARGS__ }; \
     if (virTestRun(# name, testQemuMonitorJSON ## name, &simpleFunc) < 0) \
         ret = -1

+#define DO_TEST_GEN(name, ...) DO_TEST_GEN_FULL(name, false, false, __VA_ARGS__)
+#define DO_TEST_GEN_DEPRECATED(name, removed, ...) \
+    DO_TEST_GEN_FULL(name, true, removed, __VA_ARGS__)
+
 #define DO_TEST_CPU_DATA(name) \
     do { \
         struct testCPUData data = { name, driver.xmlopt, qapiData.schema }; \
-- 
2.26.2




More information about the libvir-list mailing list