##// END OF EJS Templates
tests: print the actual timeout value used in `wait-on-file`...
Matt Harbison -
r52840:9cfc95e9 default
parent child Browse files
Show More
@@ -1,39 +1,42
1 1 #!/bin/sh
2 2 #
3 3 # wait up to TIMEOUT seconds until a WAIT_ON_FILE is created.
4 4 #
5 5 # In addition, this script can create CREATE_FILE once it is ready to wait.
6 6
7 7 if [ $# -lt 2 ] || [ $# -gt 3 ]; then
8 8 echo $#
9 9 echo "USAGE: $0 TIMEOUT WAIT_ON_FILE [CREATE_FILE]"
10 10 fi
11 11
12 12 timer="$1"
13 13
14 # Scale the timeout to match the sleep steps below, i.e. 1/0.02.
15 timer=$(( 50 * $timer ))
16 14 # If the test timeout have been extended, also scale the timer relative
17 15 # to the normal timing.
18 16 if [ "$HGTEST_TIMEOUT_DEFAULT" -lt "$HGTEST_TIMEOUT" ]; then
19 17 timer=$(( ( $timer * $HGTEST_TIMEOUT) / $HGTEST_TIMEOUT_DEFAULT ))
20 18 fi
21 19
20 max_time=$timer
21
22 # Scale the timeout to match the sleep steps below, i.e. 1/0.02.
23 timer=$(( 50 * $timer ))
24
22 25 wait_on="$2"
23 26 create=""
24 27 if [ $# -eq 3 ]; then
25 28 create="$3"
26 29 fi
27 30
28 31 if [ -n "$create" ]; then
29 32 touch "$create"
30 33 create=""
31 34 fi
32 35 while [ "$timer" -gt 0 ] && !([ -e "$wait_on" ] || [ -L "$wait_on" ]) ; do
33 36 timer=$(( $timer - 1))
34 37 sleep 0.02
35 38 done
36 39 if [ "$timer" -le 0 ]; then
37 echo "file not created after $1 seconds: $wait_on" >&2
40 echo "file not created after $max_time seconds: $wait_on" >&2
38 41 exit 1
39 42 fi
General Comments 0
You need to be logged in to leave comments. Login now