##// END OF EJS Templates
merge default into stable for 5.4 release
merge default into stable for 5.4 release

File last commit:

r45221:694d4041 default
r45223:26ce8e75 merge 5.4rc0 stable
Show More
wait-on-file
38 lines | 819 B | text/plain | TextLexer
#!/bin/bash
#
# 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"
# if the test timeout have been extended, explicitly extend the provided timer
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 ] && [ ! -f "$wait_on" ];
do
timer=$(( $timer - 1))
sleep 0.01
done
if [ "$timer" -le 0 ]; then
echo "file not created after $1 seconds: $wait_on" >&2
exit 1
fi