]> git.proxmox.com Git - ceph.git/blob - ceph/qa/workunits/rbd/qemu-iotests.sh
a2e9e0600d4cf6ca74c186ae8b202d47e43ed603
[ceph.git] / ceph / qa / workunits / rbd / qemu-iotests.sh
1 #!/bin/sh -ex
2
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.
7
8 testlist='001 002 003 004 005 008 009 010 011 021 025 032 033'
9
10 git clone https://github.com/qemu/qemu.git
11 cd qemu
12
13
14 if grep -iqE '(bionic|focal|jammy|platform:el9)' /etc/os-release; then
15 git checkout v2.11.0
16 elif grep -iqE '(xenial|platform:el8)' /etc/os-release; then
17 git checkout v2.3.0
18 else
19 # use v2.2.0-rc3 (last released version that handles all the tests
20 git checkout 2528043f1f299e0e88cb026f1ca7c40bbb4e1f80
21 fi
22
23 cd tests/qemu-iotests
24 # qemu-iotests expects a binary called just 'qemu' to be available
25 if [ -x '/usr/bin/qemu-system-x86_64' ]
26 then
27 QEMU='/usr/bin/qemu-system-x86_64'
28 else
29 QEMU='/usr/libexec/qemu-kvm'
30 fi
31
32 # Bionic (v2.11.0) tests expect all tools in current directory
33 ln -s $QEMU qemu
34 ln -s /usr/bin/qemu-img
35 ln -s /usr/bin/qemu-io
36 ln -s /usr/bin/qemu-nbd
37
38 # this is normally generated by configure, but has nothing but a python
39 # binary definition, which we don't care about. for some reason it is
40 # not present on trusty.
41 touch common.env
42
43 # TEST_DIR is the pool for rbd
44 TEST_DIR=rbd ./check -rbd $testlist
45
46 cd ../../..
47 rm -rf qemu