Currently when `sauce-connect` times out after 2min, we just print a message saying that the SauceLabs tunnel didn't establish within 2min. In order to make debugging easier, we now print the full log file output on failure. PR Close #29084
		
			
				
	
	
		
			29 lines
		
	
	
		
			800 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			800 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| 
 | |
| # Disable printing of any executed command because this would cause a lot
 | |
| # of spam due to the loop.
 | |
| set +x -u -e -o pipefail
 | |
| 
 | |
| # Waits for Saucelabs Connect to be ready before executing any tests.
 | |
| counter=0
 | |
| 
 | |
| while [[ ! -f ${SAUCE_READY_FILE} ]]; do
 | |
|   counter=$((counter + 1))
 | |
| 
 | |
|   # 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 $[${SAUCE_READY_FILE_TIMEOUT} * 2] ]; then
 | |
|     echo "Timed out after ${SAUCE_READY_FILE_TIMEOUT} seconds waiting for tunnel ready file."
 | |
|     echo "Printing logfile output:"
 | |
|     echo ""
 | |
|     cat ${SAUCE_LOG_FILE}
 | |
|     exit 5
 | |
|   fi
 | |
| 
 | |
|   printf "."
 | |
|   sleep 0.5
 | |
| done
 | |
| 
 | |
| echo ""
 | |
| echo "Connected to Saucelabs"
 |