aboutsummaryrefslogtreecommitdiff
path: root/tests/check-block.sh
diff options
context:
space:
mode:
authorVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>2021-12-23 19:39:33 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2022-01-28 11:13:33 +0100
commitbcda7b178fde7797f476e3b066fe5fc76bfa1c43 (patch)
treebbd4ea6d613b0b2eb8c7124d57fa92bad6f5359e /tests/check-block.sh
parent235b523dba80bec984a96ffc83893d0ccff18312 (diff)
check-block.sh: passthrough -jN flag of make to -j N flag of check
This improves performance of running iotests during "make -jN check". Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Message-Id: <20211223183933.1497037-1-vsementsov@virtuozzo.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'tests/check-block.sh')
-rwxr-xr-xtests/check-block.sh9
1 files changed, 8 insertions, 1 deletions
diff --git a/tests/check-block.sh b/tests/check-block.sh
index f86cb863de..d98d49ad63 100755
--- a/tests/check-block.sh
+++ b/tests/check-block.sh
@@ -74,10 +74,17 @@ cd tests/qemu-iotests
# QEMU_CHECK_BLOCK_AUTO is used to disable some unstable sub-tests
export QEMU_CHECK_BLOCK_AUTO=1
export PYTHONUTF8=1
+# If make was called with -jN we want to call ./check with -j N. Extract the
+# flag from MAKEFLAGS, so that if it absent (or MAKEFLAGS is not defined), JOBS
+# would be an empty line otherwise JOBS is prepared string of flag with value:
+# "-j N"
+# Note, that the following works even if make was called with "-j N" or even
+# "--jobs N", as all these variants becomes simply "-jN" in MAKEFLAGS variable.
+JOBS=$(echo "$MAKEFLAGS" | sed -n 's/\(^\|.* \)-j\([0-9]\+\)\( .*\|$\)/-j \2/p')
ret=0
for fmt in $format_list ; do
- ${PYTHON} ./check -makecheck -$fmt $group || ret=1
+ ${PYTHON} ./check $JOBS -makecheck -$fmt $group || ret=1
done
exit $ret