diff options
author | thomasvl@gmail.com <thomasvl@gmail.com@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3> | 2008-09-22 23:33:44 +0000 |
---|---|---|
committer | thomasvl@gmail.com <thomasvl@gmail.com@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3> | 2008-09-22 23:33:44 +0000 |
commit | 7bb8e9b9b24141f373ed70d7e6674a245c0227cf (patch) | |
tree | 8fab3cad46943aee24f213e041b2a7f6b71ea5df /UnitTesting/RunIPhoneUnitTest.sh | |
parent | bfaf8705cccb15c0c2a7704b17ba011ddba8242f (diff) |
- Added GTMTestTimer.h for doing high fidelity timings.
- Added leaks checking to iPhone unit test script. It can be controlled by
the GTM_DISABLE_LEAKS environment variable
- Added ability to control using zombies to iPhone unit test script. It can be
controlled by the GTM_DISABLE_ZOMBIES environment variable
- Added ability to control termination to iPhone unit test script. It can be
controlled by the GTM_DISABLE_TERMINATION environment variable
- Fixed several leaks found with leak checking enabled.
- Added configs for different iPhone OS versions.
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 |