Eric Blake <ebl...@redhat.com> writes: > Now that we have the qmp_cmd() helper, we can further simplify > some of the tests by using it. > > Signed-off-by: Eric Blake <ebl...@redhat.com> > --- > tests/device-introspect-test.c | 3 +-- > tests/ide-test.c | 2 +- > tests/libqos/libqos.c | 5 +++-- > tests/libqos/pci-pc.c | 4 ++-- > tests/libqos/usb.c | 18 +++++++++--------- > tests/pc-cpu-test.c | 10 +++++----- > tests/postcopy-test.c | 9 +++++---- > tests/vhost-user-test.c | 12 ++++++------ > 8 files changed, 32 insertions(+), 31 deletions(-) > > diff --git a/tests/device-introspect-test.c b/tests/device-introspect-test.c > index f7162c023f..fc6d559e14 100644 > --- a/tests/device-introspect-test.c > +++ b/tests/device-introspect-test.c > @@ -36,8 +36,7 @@ static QList *qom_list_types(const char *implements, bool > abstract) > if (implements) { > qdict_put_str(args, "implements", implements); > } > - resp = qmp("{'execute': 'qom-list-types'," > - " 'arguments': %p }", args); > + resp = qmp_cmd("qom-list-types", QOBJECT(args));
This one's a clear win. > g_assert(qdict_haskey(resp, "return")); > ret = qdict_get_qlist(resp, "return"); > QINCREF(ret); > diff --git a/tests/ide-test.c b/tests/ide-test.c > index ea2657d3d1..75dc472e6a 100644 > --- a/tests/ide-test.c > +++ b/tests/ide-test.c > @@ -651,7 +651,7 @@ static void test_retry_flush(const char *machine) > qmp_eventwait("STOP"); > > /* Complete the command */ > - qmp_discard_response("{'execute':'cont' }"); > + qmp_cmd_discard_response("cont", NULL); This one isn't. > > /* Check registers */ > data = qpci_io_readb(dev, ide_bar, reg_device); > diff --git a/tests/libqos/libqos.c b/tests/libqos/libqos.c > index 42c5315423..18844617ae 100644 > --- a/tests/libqos/libqos.c > +++ b/tests/libqos/libqos.c > @@ -4,6 +4,7 @@ > #include "libqtest.h" > #include "libqos/libqos.h" > #include "libqos/pci.h" > +#include "qapi/qmp/qjson.h" > > /*** Test Setup & Teardown ***/ > > @@ -86,7 +87,7 @@ void set_context(QOSState *s) > > static QDict *qmp_execute(const char *command) > { > - return qmp("{ 'execute': %s }", command); > + return qmp_cmd(command, NULL); Marginal. > } > > void migrate(QOSState *from, QOSState *to, const char *uri) > @@ -106,7 +107,7 @@ void migrate(QOSState *from, QOSState *to, const char > *uri) > QDECREF(rsp); > > /* Issue the migrate command. */ > - rsp = qmp("{ 'execute': 'migrate', 'arguments': { 'uri': %s } }", uri); > + rsp = qmp_cmd("migrate", qobject_from_jsonf("{ 'uri': %s }", uri)); Not a simplification. The opposite, I'm afraid. I could become one if qmp_cmd() worked like this: rsp = qmp_cmd("migrate", "{ 'uri': %s }", uri)); Even better if qmp_cmd("cont", "") just works. Hmm, unles gcc whines about the empty format string. > g_assert(qdict_haskey(rsp, "return")); > QDECREF(rsp); > [More of the same snipped...]