diff options
author | Thomas Huth <thuth@redhat.com> | 2017-08-15 08:58:54 +0200 |
---|---|---|
committer | Thomas Huth <thuth@redhat.com> | 2017-09-15 09:05:18 +0200 |
commit | acd80015fbe28f4f513e036ad1db2a76738d1f53 (patch) | |
tree | eb1db46ee8961cffdda43c21958bb4540a65c2d8 /tests/usb-hcd-uhci-test.c | |
parent | 3dabde1128b671f36ac6cb36b97b273139964420 (diff) | |
download | qemu-acd80015fbe28f4f513e036ad1db2a76738d1f53.zip qemu-acd80015fbe28f4f513e036ad1db2a76738d1f53.tar.gz qemu-acd80015fbe28f4f513e036ad1db2a76738d1f53.tar.bz2 |
tests: Introduce generic device hot-plug/hot-unplug functions
A lot of tests provide code for adding and removing a device via the
device_add and device_del QMP commands. Maintaining this code in so many
places is cumbersome and error-prone (some of the code parts check the
responses for device deletion in an incorrect way, for example, we've got
to deal with both, error code and DEVICE_DEL event here). So let's provide
some proper generic functions for adding and removing a device instead.
The code for correctly unplugging a device has been taken from a patch
from Peter Xu.
Reviewed-by: Peter Xu <peterx@redhat.com>
Tested-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Diffstat (limited to 'tests/usb-hcd-uhci-test.c')
-rw-r--r-- | tests/usb-hcd-uhci-test.c | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/tests/usb-hcd-uhci-test.c b/tests/usb-hcd-uhci-test.c index 5b500fe..62e0c78 100644 --- a/tests/usb-hcd-uhci-test.c +++ b/tests/usb-hcd-uhci-test.c @@ -48,31 +48,9 @@ static void test_uhci_hotplug(void) static void test_usb_storage_hotplug(void) { - QDict *response; + qtest_qmp_device_add("usb-storage", "usbdev0", "'drive': 'drive0'"); - response = qmp("{'execute': 'device_add'," - " 'arguments': {" - " 'driver': 'usb-storage'," - " 'drive': 'drive0'," - " 'id': 'usbdev0'" - "}}"); - g_assert(response); - g_assert(!qdict_haskey(response, "error")); - QDECREF(response); - - response = qmp("{'execute': 'device_del'," - " 'arguments': {" - " 'id': 'usbdev0'" - "}}"); - g_assert(response); - g_assert(!qdict_haskey(response, "error")); - QDECREF(response); - - response = qmp(""); - g_assert(response); - g_assert(qdict_haskey(response, "event")); - g_assert(!strcmp(qdict_get_str(response, "event"), "DEVICE_DELETED")); - QDECREF(response); + qtest_qmp_device_del("usbdev0"); } int main(int argc, char **argv) |