Merge branch 'sg/stress-test'
Test improvement. * sg/stress-test: test-lib: fix non-portable pattern bracket expressions test-lib: make '--stress' more bisect-friendly
This commit is contained in:
commit
feb9a9b202
5
t/README
5
t/README
@ -211,6 +211,11 @@ appropriately before running "make".
|
||||
'.stress-<nr>' suffix, and the trash directory of the failed
|
||||
test job is renamed to end with a '.stress-failed' suffix.
|
||||
|
||||
--stress-limit=<N>::
|
||||
When combined with --stress run the test script repeatedly
|
||||
this many times in each of the parallel jobs or until one of
|
||||
them fails, whichever comes first.
|
||||
|
||||
You can also set the GIT_TEST_INSTALLED environment variable to
|
||||
the bindir of an existing git installation to test that installation.
|
||||
You still need to have built this git sandbox, from which various
|
||||
|
@ -1289,7 +1289,7 @@ test_set_port () {
|
||||
port=$(($port + 10000))
|
||||
fi
|
||||
;;
|
||||
*[^0-9]*|0*)
|
||||
*[!0-9]*|0*)
|
||||
error >&7 "invalid port number: $port"
|
||||
;;
|
||||
*)
|
||||
|
@ -149,7 +149,7 @@ do
|
||||
--stress=*)
|
||||
stress=${opt#--*=}
|
||||
case "$stress" in
|
||||
*[^0-9]*|0*|"")
|
||||
*[!0-9]*|0*|"")
|
||||
echo "error: --stress=<N> requires the number of jobs to run" >&2
|
||||
exit 1
|
||||
;;
|
||||
@ -157,6 +157,17 @@ do
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
--stress-limit=*)
|
||||
stress_limit=${opt#--*=}
|
||||
case "$stress_limit" in
|
||||
*[!0-9]*|0*|"")
|
||||
echo "error: --stress-limit=<N> requires the number of repetitions" >&2
|
||||
exit 1
|
||||
;;
|
||||
*) # Good.
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
echo "error: unknown test option '$opt'" >&2; exit 1 ;;
|
||||
esac
|
||||
@ -242,8 +253,10 @@ then
|
||||
exit 1
|
||||
' TERM INT
|
||||
|
||||
cnt=0
|
||||
while ! test -e "$stressfail"
|
||||
cnt=1
|
||||
while ! test -e "$stressfail" &&
|
||||
{ test -z "$stress_limit" ||
|
||||
test $cnt -le $stress_limit ; }
|
||||
do
|
||||
$TEST_SHELL_PATH "$0" "$@" >"$TEST_RESULTS_BASE.stress-$job_nr.out" 2>&1 &
|
||||
test_pid=$!
|
||||
@ -266,6 +279,7 @@ then
|
||||
|
||||
if test -f "$stressfail"
|
||||
then
|
||||
stress_exit=1
|
||||
echo "Log(s) of failed test run(s):"
|
||||
for failed_job_nr in $(sort -n "$stressfail")
|
||||
do
|
||||
|
Loading…
Reference in New Issue
Block a user