tests/qtest: Check for the availability of virtio-ccw devices before using them
The devices might not have been compiled into the QEMU binary, so we
have to check before we can use them.
Message-Id: <20230512124033.502654-16-thuth@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
diff --git a/tests/qtest/device-plug-test.c b/tests/qtest/device-plug-test.c
index 01cecd6..abd544b 100644
--- a/tests/qtest/device-plug-test.c
+++ b/tests/qtest/device-plug-test.c
@@ -156,7 +156,14 @@
static void test_ccw_unplug(void)
{
- QTestState *qtest = qtest_initf("-device virtio-balloon-ccw,id=dev0");
+ QTestState *qtest;
+
+ if (!qtest_has_device("virtio-balloon-ccw")) {
+ g_test_skip("Device virtio-balloon-ccw not available");
+ return;
+ }
+
+ qtest = qtest_initf("-device virtio-balloon-ccw,id=dev0");
qtest_qmp_device_del_send(qtest, "dev0");
wait_device_deleted_event(qtest, "dev0");
diff --git a/tests/qtest/virtio-ccw-test.c b/tests/qtest/virtio-ccw-test.c
index c0790e3..f4f5858 100644
--- a/tests/qtest/virtio-ccw-test.c
+++ b/tests/qtest/virtio-ccw-test.c
@@ -76,13 +76,19 @@
int main(int argc, char **argv)
{
g_test_init(&argc, &argv, NULL);
- qtest_add_func("/virtio/console/nop", virtconsole_nop);
- qtest_add_func("/virtio/serialport/nop", virtserialport_nop);
- qtest_add_func("/virtio/serial/nop", virtio_serial_nop);
- qtest_add_func("/virtio/serial/hotplug", virtio_serial_hotplug);
- qtest_add_func("/virtio/rng/nop", virtio_rng_nop);
- qtest_add_func("/virtio/scsi/nop", virtio_scsi_nop);
- qtest_add_func("/virtio/scsi/hotplug", virtio_scsi_hotplug);
+ if (qtest_has_device("virtio-serial-ccw")) {
+ qtest_add_func("/virtio/console/nop", virtconsole_nop);
+ qtest_add_func("/virtio/serialport/nop", virtserialport_nop);
+ qtest_add_func("/virtio/serial/nop", virtio_serial_nop);
+ qtest_add_func("/virtio/serial/hotplug", virtio_serial_hotplug);
+ }
+ if (qtest_has_device("virtio-rng-ccw")) {
+ qtest_add_func("/virtio/rng/nop", virtio_rng_nop);
+ }
+ if (qtest_has_device("virtio-rng-ccw")) {
+ qtest_add_func("/virtio/scsi/nop", virtio_scsi_nop);
+ qtest_add_func("/virtio/scsi/hotplug", virtio_scsi_hotplug);
+ }
return g_test_run();
}