3 # Run qemu-iotests against rbd. These are block-level tests that go
4 # through qemu but do not involve running a full vm. Note that these
5 # require the admin ceph user, as there's no way to pass the ceph user
6 # to qemu-iotests currently.
8 testlist
='001 002 003 004 005 008 009 010 011 021 025 032 033'
10 git clone https
://github.com
/qemu
/qemu.git
12 if lsb_release
-da 2>&1 |
grep -iqE '(bionic|focal)'; then
13 # Bionic requires a matching test harness
15 elif lsb_release
-da 2>&1 |
grep -iqE '(xenial|linux release 8)'; then
16 # Xenial requires a recent test harness
19 # use v2.2.0-rc3 (last released version that handles all the tests
20 git checkout
2528043f1f299e0e88cb026f1ca7c40bbb4e1f80
25 # qemu-iotests expects a binary called just 'qemu' to be available
26 if [ -x '/usr/bin/qemu-system-x86_64' ]
28 QEMU
='/usr/bin/qemu-system-x86_64'
30 # Bionic (v2.11.0) tests expect all tools in current directory
32 ln -s /usr
/bin
/qemu-img
33 ln -s /usr
/bin
/qemu-io
34 ln -s /usr
/bin
/qemu-nbd
36 QEMU
='/usr/libexec/qemu-kvm'
40 # this is normally generated by configure, but has nothing but a python
41 # binary definition, which we don't care about. for some reason it is
42 # not present on trusty.
45 # TEST_DIR is the pool for rbd
46 TEST_DIR
=rbd PATH
="$PATH:$PWD/bin" .
/check
-rbd $testlist