 d0cda6f461
			
		
	
	
		d0cda6f461
		
	
	
	
	
		
			
			This variable is about the host OS, not the target. It is used a lot more since the Meson conversion, but the original sin dates back to 2003. Time to fix it. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
		
			
				
	
	
		
			72 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Meson
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Meson
		
	
	
	
	
	
| if not have_tools or host_os == 'windows'
 | |
|   subdir_done()
 | |
| endif
 | |
| 
 | |
| foreach cflag: qemu_ldflags
 | |
|   if cflag.startswith('-fsanitize') and \
 | |
|      not cflag.contains('safe-stack') and not cflag.contains('cfi-icall')
 | |
|     message('Sanitizers are enabled ==> Disabled the qemu-iotests.')
 | |
|     subdir_done()
 | |
|   endif
 | |
| endforeach
 | |
| 
 | |
| bash = find_program('bash', required: false, version: '>= 4.0')
 | |
| if not bash.found()
 | |
|   message('bash >= v4.0 not available ==> Disabled the qemu-iotests.')
 | |
|   subdir_done()
 | |
| endif
 | |
| 
 | |
| qemu_iotests_binaries = [qemu_img, qemu_io, qemu_nbd, qsd]
 | |
| qemu_iotests_env = {'PYTHON': python.full_path()}
 | |
| qemu_iotests_formats = {
 | |
|   'qcow2': 'quick',
 | |
|   'raw': 'slow',
 | |
|   'qed': 'thorough',
 | |
|   'vmdk': 'thorough',
 | |
|   'vpc': 'thorough'
 | |
| }
 | |
| 
 | |
| foreach k, v : emulators
 | |
|   if k.startswith('qemu-system-')
 | |
|     qemu_iotests_binaries += v
 | |
|   endif
 | |
| endforeach
 | |
| 
 | |
| qemu_iotests_check_cmd = files('check')
 | |
| 
 | |
| foreach format, speed: qemu_iotests_formats
 | |
|   if speed == 'quick'
 | |
|     suites = 'block'
 | |
|   else
 | |
|     suites = ['block-' + speed, speed]
 | |
|   endif
 | |
| 
 | |
|   args = ['-tap', '-' + format]
 | |
|   if speed == 'quick'
 | |
|       args += ['-g', 'auto']
 | |
|   endif
 | |
| 
 | |
|   rc = run_command(
 | |
|       [python, qemu_iotests_check_cmd] + args + ['-n'],
 | |
|       check: true,
 | |
|   )
 | |
| 
 | |
|   foreach item: rc.stdout().strip().split()
 | |
|       args = [qemu_iotests_check_cmd,
 | |
|               '-tap', '-' + format, item,
 | |
|               '--source-dir', meson.current_source_dir(),
 | |
|               '--build-dir', meson.current_build_dir()]
 | |
|       # Some individual tests take as long as 45 seconds
 | |
|       # Bump the timeout to 3 minutes for some headroom
 | |
|       # on slow machines to minimize spurious failures
 | |
|       test('io-' + format + '-' + item,
 | |
|            python,
 | |
|            args: args,
 | |
|            depends: qemu_iotests_binaries,
 | |
|            env: qemu_iotests_env,
 | |
|            protocol: 'tap',
 | |
|            timeout: 180,
 | |
|            suite: suites)
 | |
|   endforeach
 | |
| endforeach
 |