Mercurial > hg
view tests/testlib/wait-on-file @ 51316:178e50edb4f8
changelog: stop useless enforcing split at the end of transaction
Changelogs are no longer created inline, and existing changelogs are
automatically split. Since we now enforce splitting at the start of any write,
we don't need to enforce splitting at the end of the transaction.
This has the nice side effect of killing the only user of "side_write".
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 11 Jan 2024 16:35:52 +0100 |
parents | a68b37524d50 |
children | 9cfc95e901ec |
line wrap: on
line source
#!/bin/sh # # wait up to TIMEOUT seconds until a WAIT_ON_FILE is created. # # In addition, this script can create CREATE_FILE once it is ready to wait. if [ $# -lt 2 ] || [ $# -gt 3 ]; then echo $# echo "USAGE: $0 TIMEOUT WAIT_ON_FILE [CREATE_FILE]" fi timer="$1" # 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=$(( ( $timer * $HGTEST_TIMEOUT) / $HGTEST_TIMEOUT_DEFAULT )) fi wait_on="$2" create="" if [ $# -eq 3 ]; then create="$3" fi if [ -n "$create" ]; then touch "$create" create="" fi while [ "$timer" -gt 0 ] && !([ -e "$wait_on" ] || [ -L "$wait_on" ]) ; do timer=$(( $timer - 1)) sleep 0.02 done if [ "$timer" -le 0 ]; then echo "file not created after $1 seconds: $wait_on" >&2 exit 1 fi