react-native/scripts/objc-test.sh
Valentin Agachi 66a13d548b Add flexibility to the iOS UIExplorer test script
Summary:
Add more flexibility to the iOS UIExplorer test scripts:
- support environments without `xcpretty` installed
- support custom xcode destination argument

Initial PR is based on the last git commit which passed on Travis today (2a92b52) in order to test Travis build.

I'll rebase to latest, in order to fix merge conflicts, before merging.

**Test plan (required)**

Make sure tests pass on Travis.
Closes https://github.com/facebook/react-native/pull/7982

Differential Revision: D3404574

Pulled By: avaly

fbshipit-source-id: 48aabd81fba67d482af46728a9c3975842f03060
2016-06-08 04:43:22 -07:00

44 lines
977 B
Bash
Executable File

#!/bin/bash
set -e
SCRIPTS=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
ROOT=$(dirname $SCRIPTS)
cd $ROOT
function cleanup {
EXIT_CODE=$?
set +e
if [ $EXIT_CODE -ne 0 ];
then
WATCHMAN_LOGS=/usr/local/Cellar/watchman/3.1/var/run/watchman/$USER.log
[ -f $WATCHMAN_LOGS ] && cat $WATCHMAN_LOGS
fi
}
trap cleanup EXIT
if [ -z "$XCODE_DESTINATION" ]; then
XCODE_DESTINATION="platform=iOS Simulator,name=iPhone 5,OS=9.3"
fi
# Support for environments without xcpretty installed
set +e
OUTPUT_TOOL=$(which xcpretty)
set -e
if [ -z "$OUTPUT_TOOL" ]; then
OUTPUT_TOOL="sed"
fi
# TODO: We use xcodebuild because xctool would stall when collecting info about
# the tests before running them. Switch back when this issue with xctool has
# been resolved.
xcodebuild \
-project Examples/UIExplorer/UIExplorer.xcodeproj \
-scheme UIExplorer \
-sdk iphonesimulator \
-destination "$XCODE_DESTINATION" \
test \
| $OUTPUT_TOOL && exit ${PIPESTATUS[0]}