The following patch is going to make qmp introspection per-target, and
test-qobject-input-visitor.c can no longer link with
qmp_schema_qlit. Use a run-time QMP test instead to validate the
query-qmp-schema schema.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
tests/qmp-test.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/tests/qmp-test.c b/tests/qmp-test.c
index 5d0260b2be..1fd37092b5 100644
--- a/tests/qmp-test.c
+++ b/tests/qmp-test.c
@@ -129,11 +129,32 @@ static void test_qmp_protocol(void)
qtest_end();
}
+static void test_qmp_query_schema(void)
+{
+ SchemaInfoList *schema;
+ QDict *resp;
+ Visitor *v;
+
+ qtest_start(common_args);
+
+ resp = qmp("{'execute': 'query-qmp-schema'}");
+ v = qobject_input_visitor_new(qdict_get(resp, "return"));
+ visit_type_SchemaInfoList(v, NULL, &schema, &error_abort);
+ g_assert(schema);
+
+ qapi_free_SchemaInfoList(schema);
+ visit_free(v);
+ QDECREF(resp);
+
+ qtest_end();
+}
+
int main(int argc, char *argv[])
{
g_test_init(&argc, &argv, NULL);
qtest_add_func("qmp/protocol", test_qmp_protocol);
+ qtest_add_func("qmp/query-schema", test_qmp_query_schema);
return g_test_run();
}
--
2.14.1.146.gd35faa819