Files
angular__angular/scripts/browserstack/wait-tunnel.sh
T
Paul Gschwendtner 0680774fcd ci: shorter wait timeout for saucelabs and browserstack (#6317)
* Changes the wait timeout for Saucelabs and Browserstack from 2 minutes to 1 minute. This is possible now because if the timeout fails we still re-try to create a connection a second time.
2017-08-07 10:24:09 -07:00

43 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
TUNNEL_LOG="$LOGS_DIR/browserstack-tunnel.log"
WAIT_DELAY=60
# Method that prints the logfile output of the browserstack tunnel.
printLog() {
echo "Logfile output of Browserstack tunnel (${TUNNEL_LOG}):"
echo ""
cat ${TUNNEL_LOG}
}
# Wait for Connect to be ready before exiting
# Time out if we wait for more than 2 minutes, so the process won't run forever.
let "counter=0"
# Exit the process if there are errors reported. Print the tunnel log to the console.
if [ -f $BROWSER_PROVIDER_ERROR_FILE ]; then
echo
echo "An error occurred while starting the tunnel. See error:"
printLog
exit 5
fi
while [ ! -f $BROWSER_PROVIDER_READY_FILE ]; do
let "counter++"
# Counter needs to be multiplied by two because the while loop only sleeps a half second.
# This has been made in favor of better progress logging (printing dots every half second)
if [ $counter -gt $[${WAIT_DELAY} * 2] ]; then
echo
echo "Timed out after 2 minutes waiting for tunnel ready file"
printLog
exit 5
fi
printf "."
sleep 0.5
done
echo ""
echo "Connected to Browserstack"