aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Huth <thuth@redhat.com>2020-01-21 10:52:03 +0100
committerMax Reitz <mreitz@redhat.com>2020-02-06 13:47:45 +0100
commit9bdabfbe722e4d47892dfea17ae4c1670e54123b (patch)
tree05e5a2774e26fa7d71aee7b5ddc9e6fe386bdb84
parent30ad36f55f4734ea663ddc21ea0910f2c7b4423c (diff)
downloadqemu-9bdabfbe722e4d47892dfea17ae4c1670e54123b.zip
qemu-9bdabfbe722e4d47892dfea17ae4c1670e54123b.tar.gz
qemu-9bdabfbe722e4d47892dfea17ae4c1670e54123b.tar.bz2
iotests: Check for the availability of the required devices in 267 and 127
We are going to enable 127 in the "auto" group, but it only works if virtio-scsi and scsi-hd are available - which is not the case with QEMU binaries like qemu-system-tricore for example, so we need a proper check for the availability of these devices here. A very similar problem exists in iotest 267 - it has been added to the "auto" group already, but requires virtio-blk and thus currently fails with qemu-system-tricore for example. Let's also add aproper check there. Reviewed-by: Max Reitz <mreitz@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com> Message-id: 20200121095205.26323-5-thuth@redhat.com Signed-off-by: Max Reitz <mreitz@redhat.com>
-rwxr-xr-xtests/qemu-iotests/1272
-rwxr-xr-xtests/qemu-iotests/2672
-rw-r--r--tests/qemu-iotests/common.rc14
3 files changed, 18 insertions, 0 deletions
diff --git a/tests/qemu-iotests/127 b/tests/qemu-iotests/127
index b64926a..a4fc866 100755
--- a/tests/qemu-iotests/127
+++ b/tests/qemu-iotests/127
@@ -43,6 +43,8 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto file
+_require_devices virtio-scsi scsi-hd
+
IMG_SIZE=64K
_make_test_img $IMG_SIZE
diff --git a/tests/qemu-iotests/267 b/tests/qemu-iotests/267
index c296877..3146273 100755
--- a/tests/qemu-iotests/267
+++ b/tests/qemu-iotests/267
@@ -46,6 +46,8 @@ _require_drivers copy-on-read
# and generally impossible with external data files
_unsupported_imgopts 'refcount_bits=1[^0-9]' data_file
+_require_devices virtio-blk
+
do_run_qemu()
{
echo Testing: "$@"
diff --git a/tests/qemu-iotests/common.rc b/tests/qemu-iotests/common.rc
index 9ccde32..8a6366c 100644
--- a/tests/qemu-iotests/common.rc
+++ b/tests/qemu-iotests/common.rc
@@ -713,5 +713,19 @@ _require_large_file()
rm "$TEST_IMG"
}
+# Check that a set of devices is available in the QEMU binary
+#
+_require_devices()
+{
+ available=$($QEMU -M none -device help | \
+ grep ^name | sed -e 's/^name "//' -e 's/".*$//')
+ for device
+ do
+ if ! echo "$available" | grep -q "$device" ; then
+ _notrun "$device not available"
+ fi
+ done
+}
+
# make sure this script returns success
true