]> git.proxmox.com Git - mirror_qemu.git/blob - tests/qemu-iotests/meson.build
tests/qemu-iotests: Move the bash and sanitizer checks to meson.build
[mirror_qemu.git] / tests / qemu-iotests / meson.build
1 if not have_tools or targetos == 'windows' or get_option('gprof')
2 subdir_done()
3 endif
4
5 foreach cflag: config_host['QEMU_CFLAGS'].split()
6 if cflag.startswith('-fsanitize') and \
7 not cflag.contains('safe-stack') and not cflag.contains('cfi-icall')
8 message('Sanitizers are enabled ==> Disabled the qemu-iotests.')
9 subdir_done()
10 endif
11 endforeach
12
13 bash = find_program('bash', required: false, version: '>= 4.0')
14 if not bash.found()
15 message('bash >= v4.0 not available ==> Disabled the qemu-iotests.')
16 subdir_done()
17 endif
18
19 qemu_iotests_binaries = [qemu_img, qemu_io, qemu_nbd, qsd]
20 qemu_iotests_env = {'PYTHON': python.full_path()}
21 qemu_iotests_formats = {
22 'qcow2': 'quick',
23 'raw': 'slow',
24 'qed': 'thorough',
25 'vmdk': 'thorough',
26 'vpc': 'thorough'
27 }
28
29 foreach k, v : emulators
30 if k.startswith('qemu-system-')
31 qemu_iotests_binaries += v
32 endif
33 endforeach
34
35 foreach format, speed: qemu_iotests_formats
36 if speed == 'quick'
37 suites = 'block'
38 else
39 suites = ['block-' + speed, speed]
40 endif
41 test('qemu-iotests ' + format, sh, args: [files('../check-block.sh'), format],
42 depends: qemu_iotests_binaries, env: qemu_iotests_env,
43 protocol: 'tap',
44 suite: suites,
45 timeout: 0,
46 is_parallel: false)
47 endforeach