File device-plug-test-use-qtest_qmp-to-send-t.patch of Package qemu.28164
From: Paolo Bonzini <pbonzini@redhat.com>
Date: Wed, 7 Oct 2020 07:37:41 -0400
Subject: device-plug-test: use qtest_qmp to send the device_del command
Git-commit: c45a70d8c271056896a057fbcdc7743a2942d0ec
References: bsc#1184574
Simplify the code now that events are buffered. There is no need
anymore to separate sending the command and retrieving the response.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Lin Ma <lma@suse.com>
---
tests/device-plug-test.c | 32 +++++++++-----------------------
1 file changed, 9 insertions(+), 23 deletions(-)
diff --git a/tests/device-plug-test.c b/tests/device-plug-test.c
index f44bf0bb8496819391821a7b71da..1eb587762b143d6470f3080e6371 100644
--- a/tests/device-plug-test.c
+++ b/tests/device-plug-test.c
@@ -15,26 +15,17 @@
#include "qapi/qmp/qdict.h"
#include "qapi/qmp/qstring.h"
-static void device_del_start(QTestState *qtest, const char *id)
+static void device_del(QTestState *qtest, const char *id)
{
- qtest_qmp_send(qtest,
- "{'execute': 'device_del', 'arguments': { 'id': %s } }", id);
-}
+ QDict *resp;
-static void device_del_finish(QTestState *qtest)
-{
- QDict *resp = qtest_qmp_receive_dict(qtest);
+ resp = qtest_qmp(qtest,
+ "{'execute': 'device_del', 'arguments': { 'id': %s } }", id);
g_assert(qdict_haskey(resp, "return"));
qobject_unref(resp);
}
-static void device_del_request(QTestState *qtest, const char *id)
-{
- device_del_start(qtest, id);
- device_del_finish(qtest);
-}
-
static void system_reset(QTestState *qtest)
{
QDict *resp;
@@ -79,7 +70,7 @@ static void test_pci_unplug_request(void)
* be processed. However during system reset, the removal will be
* handled, removing the device.
*/
- device_del_request(qtest, "dev0");
+ device_del(qtest, "dev0");
system_reset(qtest);
wait_device_deleted_event(qtest, "dev0");
@@ -90,13 +81,8 @@ static void test_ccw_unplug(void)
{
QTestState *qtest = qtest_initf("-device virtio-balloon-ccw,id=dev0");
- /*
- * The DEVICE_DELETED events will be sent before the command
- * completes.
- */
- device_del_start(qtest, "dev0");
+ device_del(qtest, "dev0");
wait_device_deleted_event(qtest, "dev0");
- device_del_finish(qtest);
qtest_quit(qtest);
}
@@ -109,7 +95,7 @@ static void test_spapr_cpu_unplug_request(void)
"-device power9_v2.0-spapr-cpu-core,core-id=1,id=dev0");
/* similar to test_pci_unplug_request */
- device_del_request(qtest, "dev0");
+ device_del(qtest, "dev0");
system_reset(qtest);
wait_device_deleted_event(qtest, "dev0");
@@ -125,7 +111,7 @@ static void test_spapr_memory_unplug_request(void)
"-device pc-dimm,id=dev0,memdev=mem0");
/* similar to test_pci_unplug_request */
- device_del_request(qtest, "dev0");
+ device_del(qtest, "dev0");
system_reset(qtest);
wait_device_deleted_event(qtest, "dev0");
@@ -139,7 +125,7 @@ static void test_spapr_phb_unplug_request(void)
qtest = qtest_initf("-device spapr-pci-host-bridge,index=1,id=dev0");
/* similar to test_pci_unplug_request */
- device_del_request(qtest, "dev0");
+ device_del(qtest, "dev0");
system_reset(qtest);
wait_device_deleted_event(qtest, "dev0");