[v4,4/6] iotests: Check for the availability of the required devices in 267 and 127
diff mbox series

Message ID 20191202101039.8981-5-thuth@redhat.com
State New
Headers show
Series
  • Enable more iotests during "make check-block"
Related show

Commit Message

Thomas Huth Dec. 2, 2019, 10:10 a.m. UTC
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.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 tests/qemu-iotests/127       |  2 ++
 tests/qemu-iotests/267       |  2 ++
 tests/qemu-iotests/common.rc | 14 ++++++++++++++
 3 files changed, 18 insertions(+)

Comments

Max Reitz Jan. 20, 2020, 2:47 p.m. UTC | #1
On 02.12.19 11:10, Thomas Huth wrote:
> 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.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  tests/qemu-iotests/127       |  2 ++
>  tests/qemu-iotests/267       |  2 ++
>  tests/qemu-iotests/common.rc | 14 ++++++++++++++
>  3 files changed, 18 insertions(+)

Reviewed-by: Max Reitz <mreitz@redhat.com>

Patch
diff mbox series

diff --git a/tests/qemu-iotests/127 b/tests/qemu-iotests/127
index b64926ab31..a4fc866038 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 170e173c0a..17ac640a83 100755
--- a/tests/qemu-iotests/267
+++ b/tests/qemu-iotests/267
@@ -44,6 +44,8 @@  _supported_os Linux
 # Internal snapshots are (currently) impossible with refcount_bits=1
 _unsupported_imgopts 'refcount_bits=1[^0-9]'
 
+_require_devices virtio-blk
+
 do_run_qemu()
 {
     echo Testing: "$@"
diff --git a/tests/qemu-iotests/common.rc b/tests/qemu-iotests/common.rc
index 0cc8acc9ed..38e949cf69 100644
--- a/tests/qemu-iotests/common.rc
+++ b/tests/qemu-iotests/common.rc
@@ -643,5 +643,19 @@  _require_drivers()
     done
 }
 
+# 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