|
- # Copyright (c) 2022 Jan Lehnardt <jan@apache.org>, MIT licensed
- # inspired by https://github.com/pouchdb/pouchdb/blob/25db22fb0ff025b8d2c698da30c6c409066baa0c/bin/run-test.sh#L102-L113
- # Team PouchDB, Apache 2 licensed
-
- . ./lib.sh
-
- wait_for_url () {
- assert_arg "$1" && url="$1" || error_and_exit "url not provided, exiting"
- assert_arg "$2" && iterations="$2" || iterations=3
- assert_arg "$3" && duration="$3" || duration=1
-
- debug "called wait_for_url(url=$url, duration=$duration, iterations=$iterations)"
-
- waiting=0
- cmd="curl --output /dev/null --silent --insecure --head --fail --max-time 2 $url"
-
- debug_inline "waiting for $url "
- until ($cmd); do
- if [ $waiting -eq $iterations ]; then
- after=`expr $duration \* $iterations`
- debug_inline "failed, $url can not be reached after $after seconds\n"
- return 1
- fi
- debug_inline .
- waiting=`expr $waiting + 1`
- sleep $duration
- done
- debug_inline " succeeded\n"
- }
|