qemu/tests/check-block.sh
<<
>>
Prefs
   1#!/bin/sh
   2
   3if [ "$#" -eq 0 ]; then
   4    echo "Usage: $0 fmt..." >&2
   5    exit 99
   6fi
   7
   8# Honor the SPEED environment variable, just like we do it for "meson test"
   9format_list="$@"
  10if [ "$SPEED" = "slow" ] || [ "$SPEED" = "thorough" ]; then
  11    group=
  12else
  13    group="-g auto"
  14fi
  15
  16skip() {
  17    echo "1..0 #SKIP $*"
  18    exit 0
  19}
  20
  21if [ -z "$(find . -name 'qemu-system-*' -print)" ]; then
  22    skip "No qemu-system binary available ==> Not running the qemu-iotests."
  23fi
  24
  25cd tests/qemu-iotests
  26
  27# QEMU_CHECK_BLOCK_AUTO is used to disable some unstable sub-tests
  28export QEMU_CHECK_BLOCK_AUTO=1
  29export PYTHONUTF8=1
  30# If make was called with -jN we want to call ./check with -j N. Extract the
  31# flag from MAKEFLAGS, so that if it absent (or MAKEFLAGS is not defined), JOBS
  32# would be an empty line otherwise JOBS is prepared string of flag with value:
  33# "-j N"
  34# Note, that the following works even if make was called with "-j N" or even
  35# "--jobs N", as all these variants becomes simply "-jN" in MAKEFLAGS variable.
  36JOBS=$(echo "$MAKEFLAGS" | sed -n 's/\(^\|.* \)-j\([0-9]\+\)\( .*\|$\)/-j \2/p')
  37
  38ret=0
  39for fmt in $format_list ; do
  40    ${PYTHON} ./check $JOBS -tap -$fmt $group || ret=1
  41done
  42
  43exit $ret
  44