Skip to content

Commit

Permalink
iotests: iothreads need ioeventfd
Browse files Browse the repository at this point in the history
And ioeventfd are only available with virtio-scsi-pci or virtio-scsi-ccw,
use the alias but add a rule to require virtio-scsi-pci or virtio-scsi-ccw
for the tests that use iothreads.

Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20210319202335.2397060-7-laurent@vivier.eu>
Message-Id: <20210323165308.15244-22-alex.bennee@linaro.org>
  • Loading branch information
vivier authored and stsquad committed Mar 24, 2021
1 parent 7033f1f commit 359a856
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 3 deletions.
3 changes: 2 additions & 1 deletion tests/qemu-iotests/127
Expand Up @@ -44,7 +44,8 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
_supported_fmt qcow2
_supported_proto file fuse

_require_devices virtio-scsi scsi-hd
_require_devices scsi-hd
_require_one_device_of virtio-scsi-pci virtio-scsi-ccw

IMG_SIZE=64K

Expand Down
6 changes: 4 additions & 2 deletions tests/qemu-iotests/256
Expand Up @@ -24,6 +24,8 @@ import os
import iotests
from iotests import log

iotests._verify_virtio_scsi_pci_or_ccw()

iotests.script_initialize(supported_fmts=['qcow2'])
size = 64 * 1024 * 1024

Expand Down Expand Up @@ -61,8 +63,8 @@ with iotests.FilePath('img0') as img0_path, \
log('--- Preparing images & VM ---\n')
vm.add_object('iothread,id=iothread0')
vm.add_object('iothread,id=iothread1')
vm.add_device('virtio-scsi-pci,id=scsi0,iothread=iothread0')
vm.add_device('virtio-scsi-pci,id=scsi1,iothread=iothread1')
vm.add_device('virtio-scsi,id=scsi0,iothread=iothread0')
vm.add_device('virtio-scsi,id=scsi1,iothread=iothread1')
iotests.qemu_img_create('-f', iotests.imgfmt, img0_path, str(size))
iotests.qemu_img_create('-f', iotests.imgfmt, img1_path, str(size))
vm.add_drive(img0_path, interface='none')
Expand Down
13 changes: 13 additions & 0 deletions tests/qemu-iotests/common.rc
Expand Up @@ -977,5 +977,18 @@ _require_devices()
done
}

_require_one_device_of()
{
available=$($QEMU -M none -device help | \
grep ^name | sed -e 's/^name "//' -e 's/".*$//')
for device
do
if echo "$available" | grep -q "$device" ; then
return
fi
done
_notrun "$* not available"
}

# make sure this script returns success
true
5 changes: 5 additions & 0 deletions tests/qemu-iotests/iotests.py
Expand Up @@ -1146,6 +1146,11 @@ def _verify_virtio_blk() -> None:
if 'virtio-blk' not in out:
notrun('Missing virtio-blk in QEMU binary')

def _verify_virtio_scsi_pci_or_ccw() -> None:
out = qemu_pipe('-M', 'none', '-device', 'help')
if 'virtio-scsi-pci' not in out and 'virtio-scsi-ccw' not in out:
notrun('Missing virtio-scsi-pci or virtio-scsi-ccw in QEMU binary')


def supports_quorum():
return 'quorum' in qemu_img_pipe('--help')
Expand Down

0 comments on commit 359a856

Please sign in to comment.