mirror of https://github.com/xemu-project/xemu.git
tests: qmp-cmd-test: fix memory leak
Properly free each test response to avoid memory leak and separate
qtest_qmp() calls with spare lines, in a consistent manner.
Fixes: 5b88849e7b9("tests/qmp-cmd-test: Add qmp/object-add-failure-modes")
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Li Qiang <liq3ea@163.com>
Message-Id: <20200715154117.15456-1-liq3ea@163.com>
Fixes: 9fc719b869
("tests/qmp-cmd-test: Add qmp/object-add-duplicate-id")
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
82e258db15
commit
15c51f724e
|
@ -230,6 +230,8 @@ static void test_object_add_failure_modes(void)
|
|||
" 'props': {'size': 1048576 } } }");
|
||||
g_assert_nonnull(resp);
|
||||
g_assert(qdict_haskey(resp, "return"));
|
||||
qobject_unref(resp);
|
||||
|
||||
resp = qtest_qmp(qts, "{'execute': 'object-add', 'arguments':"
|
||||
" {'qom-type': 'memory-backend-ram', 'id': 'ram1',"
|
||||
" 'props': {'size': 1048576 } } }");
|
||||
|
@ -241,6 +243,7 @@ static void test_object_add_failure_modes(void)
|
|||
" {'id': 'ram1' } }");
|
||||
g_assert_nonnull(resp);
|
||||
g_assert(qdict_haskey(resp, "return"));
|
||||
qobject_unref(resp);
|
||||
|
||||
/* attempt to create an object with a property of a wrong type */
|
||||
resp = qtest_qmp(qts, "{'execute': 'object-add', 'arguments':"
|
||||
|
@ -249,17 +252,20 @@ static void test_object_add_failure_modes(void)
|
|||
g_assert_nonnull(resp);
|
||||
/* now do it right */
|
||||
qmp_assert_error_class(resp, "GenericError");
|
||||
|
||||
resp = qtest_qmp(qts, "{'execute': 'object-add', 'arguments':"
|
||||
" {'qom-type': 'memory-backend-ram', 'id': 'ram1',"
|
||||
" 'props': {'size': 1048576 } } }");
|
||||
g_assert_nonnull(resp);
|
||||
g_assert(qdict_haskey(resp, "return"));
|
||||
qobject_unref(resp);
|
||||
|
||||
/* delete ram1 object */
|
||||
resp = qtest_qmp(qts, "{'execute': 'object-del', 'arguments':"
|
||||
" {'id': 'ram1' } }");
|
||||
g_assert_nonnull(resp);
|
||||
g_assert(qdict_haskey(resp, "return"));
|
||||
qobject_unref(resp);
|
||||
|
||||
/* attempt to create an object without the id */
|
||||
resp = qtest_qmp(qts, "{'execute': 'object-add', 'arguments':"
|
||||
|
@ -267,18 +273,21 @@ static void test_object_add_failure_modes(void)
|
|||
" 'props': {'size': 1048576 } } }");
|
||||
g_assert_nonnull(resp);
|
||||
qmp_assert_error_class(resp, "GenericError");
|
||||
|
||||
/* now do it right */
|
||||
resp = qtest_qmp(qts, "{'execute': 'object-add', 'arguments':"
|
||||
" {'qom-type': 'memory-backend-ram', 'id': 'ram1',"
|
||||
" 'props': {'size': 1048576 } } }");
|
||||
g_assert_nonnull(resp);
|
||||
g_assert(qdict_haskey(resp, "return"));
|
||||
qobject_unref(resp);
|
||||
|
||||
/* delete ram1 object */
|
||||
resp = qtest_qmp(qts, "{'execute': 'object-del', 'arguments':"
|
||||
" {'id': 'ram1' } }");
|
||||
g_assert_nonnull(resp);
|
||||
g_assert(qdict_haskey(resp, "return"));
|
||||
qobject_unref(resp);
|
||||
|
||||
/* attempt to set a non existing property */
|
||||
resp = qtest_qmp(qts, "{'execute': 'object-add', 'arguments':"
|
||||
|
@ -286,23 +295,27 @@ static void test_object_add_failure_modes(void)
|
|||
" 'props': {'sized': 1048576 } } }");
|
||||
g_assert_nonnull(resp);
|
||||
qmp_assert_error_class(resp, "GenericError");
|
||||
|
||||
/* now do it right */
|
||||
resp = qtest_qmp(qts, "{'execute': 'object-add', 'arguments':"
|
||||
" {'qom-type': 'memory-backend-ram', 'id': 'ram1',"
|
||||
" 'props': {'size': 1048576 } } }");
|
||||
g_assert_nonnull(resp);
|
||||
g_assert(qdict_haskey(resp, "return"));
|
||||
qobject_unref(resp);
|
||||
|
||||
/* delete ram1 object without id */
|
||||
resp = qtest_qmp(qts, "{'execute': 'object-del', 'arguments':"
|
||||
" {'ida': 'ram1' } }");
|
||||
g_assert_nonnull(resp);
|
||||
qobject_unref(resp);
|
||||
|
||||
/* delete ram1 object */
|
||||
resp = qtest_qmp(qts, "{'execute': 'object-del', 'arguments':"
|
||||
" {'id': 'ram1' } }");
|
||||
g_assert_nonnull(resp);
|
||||
g_assert(qdict_haskey(resp, "return"));
|
||||
qobject_unref(resp);
|
||||
|
||||
/* delete ram1 object that does not exist anymore*/
|
||||
resp = qtest_qmp(qts, "{'execute': 'object-del', 'arguments':"
|
||||
|
|
Loading…
Reference in New Issue