mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-27 04:13:53 -06:00
qapi: generate a literal qobject for introspection
Replace the generated json string with a literal qobject. The later is easier to deal with, at run time as well as compile time: adding #if conditionals will be easier than in a json string. The output of query-qmp-schema is not changed. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20180305172951.2150-5-marcandre.lureau@redhat.com> [eblake: fix python 3 failure] Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
3cf42b8b3a
commit
7d0f982bfb
4 changed files with 70 additions and 48 deletions
|
@ -1250,24 +1250,27 @@ static void test_visitor_in_fail_alternate(TestInputVisitorData *data,
|
|||
}
|
||||
|
||||
static void do_test_visitor_in_qmp_introspect(TestInputVisitorData *data,
|
||||
const char *schema_json)
|
||||
const QLitObject *qlit)
|
||||
{
|
||||
SchemaInfoList *schema = NULL;
|
||||
QObject *obj = qobject_from_qlit(qlit);
|
||||
Visitor *v;
|
||||
|
||||
v = visitor_input_test_init_raw(data, schema_json);
|
||||
v = qobject_input_visitor_new(obj);
|
||||
|
||||
visit_type_SchemaInfoList(v, NULL, &schema, &error_abort);
|
||||
g_assert(schema);
|
||||
|
||||
qapi_free_SchemaInfoList(schema);
|
||||
qobject_decref(obj);
|
||||
visit_free(v);
|
||||
}
|
||||
|
||||
static void test_visitor_in_qmp_introspect(TestInputVisitorData *data,
|
||||
const void *unused)
|
||||
{
|
||||
do_test_visitor_in_qmp_introspect(data, test_qmp_schema_json);
|
||||
do_test_visitor_in_qmp_introspect(data, qmp_schema_json);
|
||||
do_test_visitor_in_qmp_introspect(data, &test_qmp_schema_qlit);
|
||||
do_test_visitor_in_qmp_introspect(data, &qmp_schema_qlit);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue