iotests: Skip Python-based tests if QEMU does not support virtio-blk

We are going to enable some of the python-based tests in the "auto" group,
and these tests require virtio-blk to work properly. Running iotests
without virtio-blk likely does not make too much sense anyway, so instead
of adding a check for the availability of virtio-blk to each and every
test (which does not sound very appealing), let's rather add a check for
this a central spot in the "check" script instead (so that it is still
possible to run "make check" for qemu-system-tricore for example).

Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-id: 20200121095205.26323-6-thuth@redhat.com
Signed-off-by: Max Reitz <mreitz@redhat.com>
master
Thomas Huth 2020-01-21 10:52:04 +01:00 committed by Max Reitz
parent 9bdabfbe72
commit cd2058289b
1 changed files with 10 additions and 2 deletions

View File

@ -655,7 +655,15 @@ fi
python_usable=false
if $PYTHON -c 'import sys; sys.exit(0 if sys.version_info >= (3,6) else 1)'
then
python_usable=true
# Our python framework also requires virtio-blk
if "$QEMU_PROG" -M none -device help | grep -q virtio-blk >/dev/null 2>&1
then
python_usable=true
else
python_unusable_because="Missing virtio-blk in QEMU binary"
fi
else
python_unusable_because="Unsupported Python version"
fi
default_machine=$($QEMU_PROG -machine help | sed -n '/(default)/ s/ .*//p')
@ -843,7 +851,7 @@ do
run_command="$PYTHON $seq"
else
run_command="false"
echo "Unsupported Python version" > $seq.notrun
echo "$python_unusable_because" > $seq.notrun
fi
else
run_command="./$seq"