fuzz: Simplify how we compute available machines and types
commita56f3cdbdf328d95398c70432bba638a6b3f63fa
authorMarkus Armbruster <armbru@redhat.com>
Fri, 24 Apr 2020 07:11:41 +0000 (24 09:11 +0200)
committerMarkus Armbruster <armbru@redhat.com>
Wed, 29 Apr 2020 06:01:52 +0000 (29 08:01 +0200)
tree7b083e39e2b4760589e0d42a0fa94cc58c96f39c
parent14b6ce68cc8658be107247544e9a287ed17aaf76
fuzz: Simplify how we compute available machines and types

apply_to_qlist(), apply_to_node() work with QObjects.  This is
designed for use by tests/qtest/qos-test.c, which gets the data in
that form via QMP.  Goes back to commit fc281c8020 "tests: qgraph API
for the qtest driver framework".

Commit 275ab39d86 "fuzz: add support for qos-assisted fuzz targets"
added another user: qtest/fuzz/qos_fuzz.c.  To get the data as
QObjects, it uses qmp_marshal_query_machines() and
qmp_marshal_qom_list_types().

All this code is rather cumbersome.  Switch to working with generated
QAPI types instead:

* Replace apply_to_qlist() & friends by machines_apply_to_node() and
  types_apply_to_node().

* Have qos_fuzz.c use qmp_query_machines() and qmp_qom_list_types()
  instead.

* Have qos_test.c convert from QObject to the QAPI types.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20200424071142.3525-3-armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Alexander Bulekov <alxndr@bu.edu>
tests/qtest/fuzz/qos_fuzz.c
tests/qtest/libqos/qos_external.c
tests/qtest/libqos/qos_external.h
tests/qtest/qos-test.c