diff options
Diffstat (limited to 'src/objective-c/tests/run_tests.sh')
-rwxr-xr-x | src/objective-c/tests/run_tests.sh | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/objective-c/tests/run_tests.sh b/src/objective-c/tests/run_tests.sh index 62c4e10b99..cf0b07e8c0 100755 --- a/src/objective-c/tests/run_tests.sh +++ b/src/objective-c/tests/run_tests.sh @@ -34,6 +34,19 @@ $BINDIR/interop_server --port=5051 --max_send_message_size=8388608 --use_tls & # Kill them when this script exits. trap 'kill -9 `jobs -p` ; echo "EXIT TIME: $(date)"' EXIT +# Boot Xcode first with several retries since Xcode might fail due to a bug: +# http://www.openradar.me/29785686 +xcrun simctl list | egrep 'iPhone 6 \(' +udid=`xcrun simctl list | egrep 'iPhone 6 \(.*\) \(.*\)' | sed -E 's/ *iPhone 6 \(([^\)]*)\).*/\1/g' | head -n 1` +retries=0 +while [ $retries -lt 3 ] && ! open -a Simulator --args -CurrentDeviceUDID $udid ; do +retries=$(($retries+1)) +done +if [ $retries == 3 ]; then + echo "Xcode simulator failed to start after 3 retries." + exit 1 +fi + # xcodebuild is very verbose. We filter its output and tell Bash to fail if any # element of the pipe fails. # TODO(jcanizales): Use xctool instead? Issue #2540. |