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
 |