diff --git a/tests/testlib/wait-on-file b/tests/testlib/wait-on-file --- a/tests/testlib/wait-on-file +++ b/tests/testlib/wait-on-file @@ -11,9 +11,12 @@ fi timer="$1" -# if the test timeout have been extended, explicitly extend the provided timer +# Scale the timeout to match the sleep steps below, i.e. 1/0.02. +timer=$(( 50 * $timer )) +# If the test timeout have been extended, also scale the timer relative +# to the normal timing. if [ "$HGTEST_TIMEOUT_DEFAULT" -lt "$HGTEST_TIMEOUT" ]; then - timer=$(( ( 100 * $timer * $HGTEST_TIMEOUT) / $HGTEST_TIMEOUT_DEFAULT )) + timer=$(( ( $timer * $HGTEST_TIMEOUT) / $HGTEST_TIMEOUT_DEFAULT )) fi wait_on="$2" @@ -28,7 +31,7 @@ if [ -n "$create" ]; then fi while [ "$timer" -gt 0 ] && [ ! -f "$wait_on" ]; do timer=$(( $timer - 1)) - sleep 0.01 + sleep 0.02 done if [ "$timer" -le 0 ]; then echo "file not created after $1 seconds: $wait_on" >&2