[Request] [+ ] D8505: tests: fix timer scaling in wait-on-file
joerg.sonnenberger (Joerg Sonnenberger)
phabricator at mercurial-scm.org
Thu May 7 21:40:57 UTC 2020
joerg.sonnenberger created this revision.
Herald added a reviewer: hg-reviewers.
Herald added a subscriber: mercurial-patches.
REVISION SUMMARY
When using the default test timeouts, wait-on-file would not wait for $n
seconds, but $n/100 seconds. This resulted in easy timeouts on even
moderately busy fast machines. Fix the scaling to apply in all cases.
Adjust the stepping slightly to be nicer to systems with the historic
100Hz time base to ensure that the scheduler actually switches to a
different process and gives them time to work.
REPOSITORY
rHG Mercurial
BRANCH
stable
REVISION DETAIL
https://phab.mercurial-scm.org/D8505
AFFECTED FILES
tests/testlib/wait-on-file
CHANGE DETAILS
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 @@
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 @@
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
To: joerg.sonnenberger, #hg-reviewers
Cc: mercurial-patches, mercurial-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mercurial-scm.org/pipermail/mercurial-patches/attachments/20200507/76cc7180/attachment.html>
More information about the Mercurial-patches
mailing list