Am 11.10.2019 um 16:50 hat Thomas Huth geschrieben: > The next patch is going to add some python-based tests to 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 at the top level in the check-block.sh script instead > (so that it is possible to run "make check" without the "check-block" > part for qemu-system-tricore for example). > > Signed-off-by: Thomas Huth <th...@redhat.com> > --- > tests/check-block.sh | 16 +++++++++++++++- > 1 file changed, 15 insertions(+), 1 deletion(-) > > diff --git a/tests/check-block.sh b/tests/check-block.sh > index 679aedec50..7582347ec2 100755 > --- a/tests/check-block.sh > +++ b/tests/check-block.sh > @@ -26,10 +26,24 @@ if grep -q "CFLAGS.*-fsanitize" config-host.mak > 2>/dev/null ; then > exit 0 > fi > > -if [ -z "$(find . -name 'qemu-system-*' -print)" ]; then > +if [ -n "$QEMU_PROG" ]; then > + qemu_prog="$QEMU_PROG" > +else > + for binary in *-softmmu/qemu-system-* ; do > + if [ -x "$binary" ]; then > + qemu_prog="$binary" > + break > + fi
Wouldn't it be better to check the availability of virtio-blk here, so that if the current binary doesn't support it, we keep searching and maybe pick up a different binary that supports it? Or actually, should we work with a whitelist? We already need separate code for s390 and x86_64 in some places to choose between -pci and -ccw, and the presence of some virtio-blk doesn't mean that we know the specifics of how to add a virtio-blk device for this target. This suggests that blindly using a random binary might not be possible, but tests may have to be adapted before the target can be whitelisted. Kevin > + done > +fi > +if [ -z "$qemu_prog" ]; then > echo "No qemu-system binary available ==> Not running the qemu-iotests." > exit 0 > fi > +if ! "$qemu_prog" -M none -device help | grep virtio-blk >/dev/null 2>&1 ; > then > + echo "$qemu_prog does not support virtio-blk ==> Not running the > qemu-iotests." > + exit 0 > +fi > > if ! command -v bash >/dev/null 2>&1 ; then > echo "bash not available ==> Not running the qemu-iotests." > -- > 2.18.1 >