[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 06/30] tests/test-qmp-cmds: Check responses more thoroughly
From: |
Markus Armbruster |
Subject: |
[PATCH v2 06/30] tests/test-qmp-cmds: Check responses more thoroughly |
Date: |
Tue, 3 Mar 2020 17:34:41 +0100 |
Signed-off-by: Markus Armbruster <address@hidden>
---
tests/test-qmp-cmds.c | 23 +++++++++++++++++------
1 file changed, 17 insertions(+), 6 deletions(-)
diff --git a/tests/test-qmp-cmds.c b/tests/test-qmp-cmds.c
index b31064b064..464b370189 100644
--- a/tests/test-qmp-cmds.c
+++ b/tests/test-qmp-cmds.c
@@ -151,9 +151,10 @@ static QObject *do_qmp_dispatch(QDict *req, bool allow_oob)
QObject *ret;
resp = qmp_dispatch(&qmp_commands, QOBJECT(req), allow_oob);
- g_assert(resp && !qdict_haskey(resp, "error"));
+ g_assert(resp);
ret = qdict_get(resp, "return");
g_assert(ret);
+ g_assert(qdict_size(resp) == 1);
qobject_ref(ret);
qobject_unref(resp);
@@ -163,9 +164,17 @@ static QObject *do_qmp_dispatch(QDict *req, bool allow_oob)
static void do_qmp_dispatch_error(QDict *req, bool allow_oob, ErrorClass cls)
{
QDict *resp;
+ QDict *error;
resp = qmp_dispatch(&qmp_commands, QOBJECT(req), allow_oob);
- g_assert(resp && qdict_haskey(resp, "error"));
+ g_assert(resp);
+ error = qdict_get_qdict(resp, "error");
+ g_assert(error);
+ g_assert_cmpstr(qdict_get_try_str(error, "class"),
+ ==, QapiErrorClass_str(cls));
+ g_assert(qdict_get_try_str(error, "desc"));
+ g_assert(qdict_size(error) == 2);
+ g_assert(qdict_size(resp) == 1);
qobject_unref(resp);
}
@@ -174,11 +183,12 @@ static void do_qmp_dispatch_error(QDict *req, bool
allow_oob, ErrorClass cls)
static void test_dispatch_cmd(void)
{
QDict *req = qdict_new();
- QObject *ret;
+ QDict *ret;
qdict_put_str(req, "execute", "user_def_cmd");
- ret = do_qmp_dispatch(req, false);
+ ret = qobject_to(QDict, do_qmp_dispatch(req, false));
+ assert(ret && qdict_size(ret) == 0);
qobject_unref(ret);
qobject_unref(req);
@@ -187,11 +197,12 @@ static void test_dispatch_cmd(void)
static void test_dispatch_cmd_oob(void)
{
QDict *req = qdict_new();
- QObject *ret;
+ QDict *ret;
qdict_put_str(req, "exec-oob", "test-flags-command");
- ret = do_qmp_dispatch(req, true);
+ ret = qobject_to(QDict, do_qmp_dispatch(req, true));
+ assert(ret && qdict_size(ret) == 0);
qobject_unref(ret);
qobject_unref(req);
--
2.21.1
- [PATCH v2 01/30] qemu-doc: Belatedly document QMP command arg & result deprecation, (continued)
- [PATCH v2 01/30] qemu-doc: Belatedly document QMP command arg & result deprecation, Markus Armbruster, 2020/03/03
- [PATCH v2 22/30] qapi: Simplify how qmp_dispatch() deals with QCO_NO_SUCCESS_RESP, Markus Armbruster, 2020/03/03
- [PATCH v2 12/30] qapi: Add feature flags to remaining definitions, Markus Armbruster, 2020/03/03
- [PATCH v2 15/30] qapi/introspect: Factor out _make_tree(), Markus Armbruster, 2020/03/03
- [PATCH v2 30/30] qapi: New -compat deprecated-input=crash, Markus Armbruster, 2020/03/03
- [PATCH v2 17/30] qapi/schema: Reorder classes so related ones are together, Markus Armbruster, 2020/03/03
- [PATCH v2 21/30] qapi: Inline do_qmp_dispatch() into qmp_dispatch(), Markus Armbruster, 2020/03/03
- [PATCH v2 29/30] qapi: Implement -compat deprecated-input=reject, Markus Armbruster, 2020/03/03
- [PATCH v2 28/30] qapi: Implement -compat deprecated-output=hide, Markus Armbruster, 2020/03/03
- [PATCH v2 26/30] qapi: Mark deprecated QMP parts with feature 'deprecated', Markus Armbruster, 2020/03/03
- [PATCH v2 06/30] tests/test-qmp-cmds: Check responses more thoroughly,
Markus Armbruster <=
- [PATCH v2 23/30] qapi: Simplify how qmp_dispatch() gets the request ID, Markus Armbruster, 2020/03/03
- [PATCH v2 20/30] qapi: Add feature flags to struct members, Markus Armbruster, 2020/03/03
- [PATCH v2 14/30] qapi/introspect: Rename *qlit* to reduce confusion, Markus Armbruster, 2020/03/03
- Re: [PATCH v2 00/30] Configurable policy for handling deprecated interfaces, Peter Maydell, 2020/03/03
- Re: [PATCH v2 00/30] Configurable policy for handling deprecated interfaces, Peter Krempa, 2020/03/04
- Re: [PATCH v2 00/30] Configurable policy for handling deprecated interfaces, Markus Armbruster, 2020/03/04