Files
mongo/buildscripts/runiossim.sh
2018-05-25 12:20:09 -04:00

55 lines
1.4 KiB
Bash
Executable File

#!/bin/sh
set -o verbose
set -o errexit
# This script used to create simulators called 'mongo-sim', but then
# failed to delete them leading to stale instances on the machines. We
# have since changed the name, and made the script smarter, but this
# startup code is here to clean out any old stale devices. It can
# probably be removed in a few weeks.
xcrun simctl list | grep mongo-sim | awk '{print $1}' | xargs xcrun simctl delete || true
if [ "$#" -lt "3" ]; then
echo "usage:"
echo "$0 <device> <runtime> <test>"
exit 1
fi
DEVICE="$1"
shift
RUNTIME="$1"
shift
TEST="$1"
shift
cleanup() {
echo "Shutting down simulator"
xcrun simctl shutdown $_SimId || true
echo "Erasing simulator"
xcrun simctl erase $_SimId || true
echo "Deleting simulator"
xcrun simctl delete $_SimId || true
echo "Exiting with status $1"
exit $1
}
echo "Creating simulator"
_SimId=$(xcrun simctl create mongodb-simulator-$DEVICE.$RUNTIME "com.apple.CoreSimulator.SimDeviceType.$DEVICE" "com.apple.CoreSimulator.SimRuntime.$RUNTIME")
echo "Simulator created with ID $_SimId"
trap 'cleanup $?' INT TERM EXIT
echo "Booting simulator"
xcrun simctl boot $_SimId
echo "Spawning test program in simulator"
xcrun simctl spawn $_SimId "$TEST" "$@"
# Do not add additional statements after the above spawn without
# forwarding its exit status or you will cause failing tests to appear
# to succeed.