From b949b39476d758e40058dce59030829c6abf96ee Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Thu, 22 Mar 2018 19:07:21 +0100 Subject: [PATCH] tests: qemumonitorjson: Do some useful testing in the 'simple' tests The 'simple' monitor tests were quite useless, since the code did not even check whether the correct command was called. This patch uses the QAPI schema validator to validate that the arguments are in format according to the schema. Signed-off-by: Peter Krempa --- tests/qemumonitorjsontest.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/tests/qemumonitorjsontest.c b/tests/qemumonitorjsontest.c index 79e84e5169..0afdc80038 100644 --- a/tests/qemumonitorjsontest.c +++ b/tests/qemumonitorjsontest.c @@ -42,6 +42,7 @@ struct _testQemuMonitorJSONSimpleFuncData { int (* func) (qemuMonitorPtr mon); virDomainXMLOptionPtr xmlopt; const char *reply; + virHashTablePtr schema; }; const char *queryBlockReply = @@ -1266,7 +1267,7 @@ testQemuMonitorJSONSimpleFunc(const void *opaque) testQemuMonitorJSONSimpleFuncDataPtr data = (testQemuMonitorJSONSimpleFuncDataPtr) opaque; virDomainXMLOptionPtr xmlopt = data->xmlopt; - qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt); + qemuMonitorTestPtr test = qemuMonitorTestNewSchema(xmlopt, data->schema); const char *reply = data->reply; int ret = -1; @@ -2896,6 +2897,13 @@ mymain(void) virEventRegisterDefaultImpl(); + if (!(qapiData.schema = testQEMUSchemaLoad())) { + VIR_TEST_VERBOSE("failed to load qapi schema\n"); + ret = -1; + goto cleanup; + } + simpleFunc.schema = qapiData.schema; + #define DO_TEST(name) \ if (virTestRun(# name, testQemuMonitorJSON ## name, driver.xmlopt) < 0) \ ret = -1 @@ -3042,11 +3050,6 @@ mymain(void) ret = -1; \ } while (0) - if (!(qapiData.schema = testQEMUSchemaLoad())) { - VIR_TEST_VERBOSE("failed to load qapi schema\n"); - ret = -1; - goto cleanup; - } DO_TEST_QAPI_SCHEMA("string", "trace-event-get-state/arg-type", true, "{\"name\":\"test\"}"); -- 2.47.2