diff options
Diffstat (limited to 'UnitTesting/RunIPhoneUnitTest.sh')
-rwxr-xr-x | UnitTesting/RunIPhoneUnitTest.sh | 37 |
1 files changed, 33 insertions, 4 deletions
diff --git a/UnitTesting/RunIPhoneUnitTest.sh b/UnitTesting/RunIPhoneUnitTest.sh index 0089032..1718bda 100755 --- a/UnitTesting/RunIPhoneUnitTest.sh +++ b/UnitTesting/RunIPhoneUnitTest.sh @@ -17,6 +17,27 @@ # Runs all unittests through the iPhone simulator. We don't handle running them # on the device. To run on the device just choose "run". +# Controlling environment variables: +# +# GTM_DISABLE_ZOMBIES - +# Set to a non-zero value to turn off zombie checks that can interfere with +# leak checking. +# +# GTM_DISABLE_LEAKS - +# Set to a non-zero value to turn off the leaks check. +# +# GTM_DISABLE_TERMINATION +# Set to a non-zero value so that the app doesn't terminate when it's finished +# running tests. This is useful when using it with external tools such +# as Instruments. + +ScriptDir=$(dirname $(echo $0 | sed -e "s,^\([^/]\),$(pwd)/\1,")) +ScriptName=$(basename "$0") +ThisScript="${ScriptDir}/${ScriptName}" + +GTMXcodeNote() { + echo ${ThisScript}:${1}: note: GTM ${2} +} if [ "$IPHONEOS_DEPLOYMENT_TARGET" == "" ]; then # We kill the iPhone simulator because otherwise we run into issues where @@ -24,22 +45,30 @@ if [ "$IPHONEOS_DEPLOYMENT_TARGET" == "" ]; then # at this time the iPhone SDK won't allow two simulators running at the same # time. /usr/bin/killall "iPhone Simulator" + export DYLD_ROOT_PATH="$SDKROOT" export DYLD_FRAMEWORK_PATH="$CONFIGURATION_BUILD_DIR" export IPHONE_SIMULATOR_ROOT="$SDKROOT" export CFFIXED_USER_HOME="$USER_LIBRARY_DIR/Application Support/iPhone Simulator/User" - # Encourage errors + # See http://developer.apple.com/technotes/tn2004/tn2124.html for an + # explanation of these environment variables. + export MallocScribble=YES export MallocPreScribble=YES export MallocGuardEdges=YES - export CFZombieLevel=3 + export MallocStackLogging=YES export NSAutoreleaseFreedObjectCheckEnabled=YES - export NSZombieEnabled=YES export OBJC_DEBUG_FRAGILE_SUPERCLASSES=YES + if [ ! $GTM_DISABLE_ZOMBIES ]; then + GTMXcodeNote ${LINENO} "Enabling zombies" + export CFZombieLevel=3 + export NSZombieEnabled=YES + fi + "$TARGET_BUILD_DIR/$EXECUTABLE_PATH" -RegisterForSystemEvents else - echo "note: Skipping running of unittests for device build." + GTMXcodeNote ${LINENO} "Skipping running of unittests for device build." fi exit 0 |