[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[RFC PATCH 02/19] tests/test-qmp-cmds: Check responses more thoroughly
From: |
Markus Armbruster |
Subject: |
[RFC PATCH 02/19] tests/test-qmp-cmds: Check responses more thoroughly |
Date: |
Thu, 24 Oct 2019 14:34:41 +0200 |
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 e738bead86..667e03cb1b 100644
--- a/tests/test-qmp-cmds.c
+++ b/tests/test-qmp-cmds.c
@@ -150,9 +150,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);
@@ -162,9 +163,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);
}
@@ -173,11 +182,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);
@@ -186,11 +196,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.0
- [RFC PATCH 00/19] Configurable policy for handling deprecated interfaces, Markus Armbruster, 2019/10/24
- [RFC PATCH 02/19] tests/test-qmp-cmds: Check responses more thoroughly,
Markus Armbruster <=
- [RFC PATCH 03/19] tests/test-qmp-cmds: Simplify test data setup, Markus Armbruster, 2019/10/24
- [RFC PATCH 04/19] tests/test-qmp-event: Simplify test data setup, Markus Armbruster, 2019/10/24
- [RFC PATCH 01/19] tests/test-qmp-cmds: Factor out qmp_dispatch() test helpers, Markus Armbruster, 2019/10/24
- [RFC PATCH 12/19] qapi: Replace qmp_dispatch()'s TODO comment by an explanation, Markus Armbruster, 2019/10/24
- [RFC PATCH 15/19] qapi: Mark deprecated QMP commands with feature 'deprecated', Markus Armbruster, 2019/10/24
- [RFC PATCH 18/19] qapi: Include a warning in the response to a deprecated command, Markus Armbruster, 2019/10/24
- [RFC PATCH 19/19] qapi: Implement -compat deprecated-output=hide for events, Markus Armbruster, 2019/10/24