[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 32/36] qtest: Avoid dynamic JSON in qom-test
From: |
Eric Blake |
Subject: |
[Qemu-devel] [PATCH 32/36] qtest: Avoid dynamic JSON in qom-test |
Date: |
Wed, 30 Nov 2016 13:44:50 -0600 |
As argued elsewhere, it's less code to maintain if we convert
from a dynamic string passed to qobject_from_jsonv() to instead
use hand-built QDict.
Signed-off-by: Eric Blake <address@hidden>
---
Optional; the "%s" handling in earlier patches is sufficient to
handle this without hand-built QDict, so it is a judgment call
which version is more legible.
---
tests/qom-test.c | 15 ++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)
diff --git a/tests/qom-test.c b/tests/qom-test.c
index d48f890..780c775 100644
--- a/tests/qom-test.c
+++ b/tests/qom-test.c
@@ -46,13 +46,14 @@ static bool is_blacklisted(const char *arch, const char
*mach)
static void test_properties(const char *path, bool recurse)
{
char *child_path;
- QDict *response, *tuple, *tmp;
+ QDict *response, *tuple, *tmp, *args;
QList *list;
QListEntry *entry;
g_test_message("Obtaining properties of %s", path);
- response = qmp("{ 'execute': 'qom-list',"
- " 'arguments': { 'path': %s } }", path);
+ args = qdict_new();
+ qdict_put_str(args, "path", path);
+ response = qmp_cmd("qom-list", args);
g_assert(response);
if (!recurse) {
@@ -75,10 +76,10 @@ static void test_properties(const char *path, bool recurse)
} else {
const char *prop = qdict_get_str(tuple, "name");
g_test_message("Testing property %s.%s", path, prop);
- tmp = qmp("{ 'execute': 'qom-get',"
- " 'arguments': { 'path': %s,"
- " 'property': %s } }",
- path, prop);
+ args = qdict_new();
+ qdict_put_str(args, "path", path);
+ qdict_put_str(args, "property", prop);
+ tmp = qmp_cmd("qom-get", args);
/* qom-get may fail but should not, e.g., segfault. */
g_assert(tmp);
QDECREF(tmp);
--
2.7.4
- [Qemu-devel] [PATCH 28/36] qapi: Factor out JSON string escaping, (continued)
- [Qemu-devel] [PATCH 28/36] qapi: Factor out JSON string escaping, Eric Blake, 2016/11/30
- [Qemu-devel] [PATCH 24/36] qtest: Drop unused qmp_fdv(), Eric Blake, 2016/11/30
- [Qemu-devel] [PATCH 27/36] qtest: Avoid dynamic JSON in qmp_cmd(), Eric Blake, 2016/11/30
- [Qemu-devel] [PATCH 18/36] qtest: Avoid dynamic JSON in fdc-test, Eric Blake, 2016/11/30
- [Qemu-devel] [PATCH 33/36] qtest: Avoid dynamic JSON in test-x86-cpuid-compat, Eric Blake, 2016/11/30
- [Qemu-devel] [PATCH 35/36] qapi: Rip out dynamic JSON parser escape sequence support, Eric Blake, 2016/11/30
- [Qemu-devel] [PATCH 31/36] qtest: Document calling conventions, Eric Blake, 2016/11/30
- [Qemu-devel] [PATCH 15/36] blockdev: Use simpler QAPI_TO_QOBJECT(), Eric Blake, 2016/11/30
- [Qemu-devel] [PATCH 34/36] qapi: Rip out dynamic JSON parser frontend, Eric Blake, 2016/11/30
- [Qemu-devel] [PATCH 32/36] qtest: Avoid dynamic JSON in qom-test,
Eric Blake <=
- [Qemu-devel] [PATCH 17/36] qtest: Avoid dynamic JSON in ahci-test, Eric Blake, 2016/11/30
- [Qemu-devel] [PATCH 36/36] qapi: Rip out dynamic JSON parser backend, Eric Blake, 2016/11/30
- [Qemu-devel] [PATCH 02/36] qdict: Add convenience helpers for wrapped puts, Eric Blake, 2016/11/30
- [Qemu-devel] [PATCH 23/36] qtest: Avoid dynamic JSON in virtio-blk-test, Eric Blake, 2016/11/30
- [Qemu-devel] [PATCH 30/36] qtest: Avoid dynamic JSON in qmp_fd_sendv(), Eric Blake, 2016/11/30
- [Qemu-devel] [PATCH 29/36] qapi: Add qstring_append_printf(), Eric Blake, 2016/11/30
- Re: [Qemu-devel] [PATCH 00/36] Rip out dynamic JSON parsing, Eric Blake, 2016/11/30