tests/qtest: Check for virtio-blk before using -cdrom with the arm virt machine
authorThomas Huth <thuth@redhat.com>
Thu, 25 May 2023 08:10:14 +0000 (10:10 +0200)
committerThomas Huth <thuth@redhat.com>
Fri, 26 May 2023 07:10:49 +0000 (09:10 +0200)
The arm "virt" machine needs "virtio-blk-pci" for devices that get attached
via the "-cdrom" option. Since this is an optional device that might not
be available in the binary, we should check for the availability of this
device first before using it.

Message-Id: <20230525081016.1870364-3-thuth@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Signed-off-by: Thomas Huth <thuth@redhat.com>
tests/qtest/bios-tables-test.c
tests/qtest/cdrom-test.c

index 159e4edb8f2993a9a14e0f86c542d233540e8ca2..ed1c69cf012bab12456c1789460eabacdf542994 100644 (file)
@@ -2164,7 +2164,7 @@ int main(int argc, char *argv[])
             }
         }
     } else if (strcmp(arch, "aarch64") == 0) {
-        if (has_tcg) {
+        if (has_tcg && qtest_has_device("virtio-blk-pci")) {
             qtest_add_func("acpi/virt", test_acpi_virt_tcg);
             qtest_add_func("acpi/virt/acpihmatvirt",
                             test_acpi_virt_tcg_acpi_hmat);
index d1cc37584908d3bc869fdecc89ebaa33ee2a7643..f2a8d9192922f4a1f708683ac3bbe97670b8bb77 100644 (file)
@@ -264,9 +264,13 @@ int main(int argc, char **argv)
         const char *armmachines[] = {
             "realview-eb", "realview-eb-mpcore", "realview-pb-a8",
             "realview-pbx-a9", "versatileab", "versatilepb", "vexpress-a15",
-            "vexpress-a9", "virt", NULL
+            "vexpress-a9", NULL
         };
         add_cdrom_param_tests(armmachines);
+        if (qtest_has_device("virtio-blk-pci")) {
+            const char *virtmachine[] = { "virt", NULL };
+            add_cdrom_param_tests(virtmachine);
+        }
     } else {
         const char *nonemachine[] = { "none", NULL };
         add_cdrom_param_tests(nonemachine);