react-native/scripts/e2e-test.sh

48 lines
1.3 KiB
Bash
Raw Normal View History

2015-04-11 02:07:56 +00:00
#!/bin/bash
# Abort the mission if any command fails
set -e
SCRIPTS=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
ROOT=$(dirname $SCRIPTS)
TEMP=$(mktemp -d /tmp/react-native-XXXXXXXX)
# To make sure we actually installed the local version
# of react-native, we will create a temp file inside SampleApp
# and check that it exists after `react-native init`
MARKER=$(mktemp $ROOT/Examples/SampleApp/XXXXXXXX)
function cleanup {
rm $MARKER
2015-04-11 02:20:48 +00:00
[ $SINOPIA_PID ] && kill -9 $SINOPIA_PID
[ -f ~/.npmrc.bak ] && mv ~/.npmrc.bak ~/.npmrc
2015-04-11 02:07:56 +00:00
}
trap cleanup EXIT
cd $TEMP
# sinopia is npm registry proxy, it is used to make npm
# think react-native and react-native-cli are actually
# published on npm
which sinopia || npm install -g sinopia
# but in order to make npm use sinopia we temporarily
# replace its config file
[ -f ~/.npmrc ] && cp ~/.npmrc ~/.npmrc.bak
cp $SCRIPTS/e2e-npmrc ~/.npmrc
[ -d $SCRIPTS/.published-packages ] && rm -r $SCRIPTS/.published-packages
sinopia --config $SCRIPTS/e2e-sinopia.config.yml &
SINOPIA_PID=$!
npm publish $ROOT
npm publish $ROOT/react-native-cli
npm install -g react-native-cli
react-native init EndToEndTest
cd EndToEndTest
# Make sure we installed local version of react-native
ls `basename $MARKER` > /dev/null
2015-04-11 02:20:48 +00:00
xctool -scheme EndToEndTest -sdk iphonesimulator8.1 test