qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 10/36] qtest: Avoid dynamic JSON in libqtest


From: Eric Blake
Subject: [Qemu-devel] [PATCH 10/36] qtest: Avoid dynamic JSON in libqtest
Date: Wed, 30 Nov 2016 13:44:28 -0600

The qobject_from_jsonf() function implements a pseudo-printf
language for creating a QObject through the extension of dynamic
JSON; however, it is hard-coded to only parse a subset of
formats understood by -Wformat and is not a straight synonym to
bare printf().  During a recent cleanup due to problems caused
by PRId64, it was questioned whether the maintenance burden of
keeping the dynamic JSON extension can be counterbalanced by
converting code to use alternative ways of describing QObject.

The only use of dynamic JSON in the testsuite glue code was
the creation of a human monitor command over QMP, and is a
relatively straightforward update.

Signed-off-by: Eric Blake <address@hidden>
---
 tests/libqtest.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tests/libqtest.c b/tests/libqtest.c
index 0796bb0..26c4beb 100644
--- a/tests/libqtest.c
+++ b/tests/libqtest.c
@@ -580,11 +580,11 @@ char *qtest_hmpv(QTestState *s, const char *fmt, va_list 
ap)
     char *cmd;
     QDict *resp;
     char *ret;
+    QDict *args = qdict_new();

     cmd = g_strdup_vprintf(fmt, ap);
-    resp = qtest_qmp(s, "{'execute': 'human-monitor-command',"
-                     " 'arguments': {'command-line': %s}}",
-                     cmd);
+    qdict_put_str(args, "command-line", cmd);
+    resp = qtest_qmp_cmd(s, "human-monitor-command", args);
     ret = g_strdup(qdict_get_try_str(resp, "return"));
     g_assert(ret);
     QDECREF(resp);
-- 
2.7.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]