2
2
# Script to compile and run unit tests from the command line
3
3
4
4
# The scheme and target name of the main app
5
- MAIN_APP_TARGET=$1
5
+ MAIN_APP_TARGET=" $1 "
6
6
7
7
# The scheme and target name of the unit tests
8
- UNIT_TEST_TARGET=$2
8
+ UNIT_TEST_TARGET=" $2 "
9
9
10
10
# The path to libXcodeTest.a, if not in current directory
11
- PATH_TO_XCODE_TEST_LIB=$3
11
+ PATH_TO_XCODE_TEST_LIB=" $3 "
12
12
13
13
# Output variable defaults to current directory of not specified
14
14
LINK_TO_XCODE_TEST_LIB=" "
15
15
if [[" ${PATH_TO_XCODE_TEST_LIB} " != " " ]]; then
16
- XCODE_TEST_ABS_LIB_PATH=` pwd ` /${PATH_TO_XCODE_TEST_LIB}
16
+ XCODE_TEST_ABS_LIB_PATH=" ${PWD} /${PATH_TO_XCODE_TEST_LIB} "
17
17
LINK_TO_XCODE_TEST_LIB=" -lXcodeTest -L\" ${XCODE_TEST_ABS_LIB_PATH} \" "
18
18
else
19
- CURRENT_PATH=` pwd `
19
+ CURRENT_PATH=" ${PWD} "
20
20
LINK_TO_XCODE_TEST_LIB=" -lXcodeTest -L\" ${CURRENT_PATH} \" "
21
21
fi
22
22
23
23
# Calculate the variables to feed into the build
24
- OUTPUT_DIR=/tmp/xcodetest/${MAIN_APP_TARGET}
25
- XCODE_TEST_PATH=${OUTPUT_DIR} /${UNIT_TEST_TARGET} .octest/${UNIT_TEST_TARGET}
24
+ OUTPUT_DIR=" /tmp/xcodetest/${MAIN_APP_TARGET} "
25
+ XCODE_TEST_PATH=" ${OUTPUT_DIR} /${UNIT_TEST_TARGET} .octest/${UNIT_TEST_TARGET} "
26
26
XCODE_TEST_LDFLAGS=" -ObjC -framework SenTestingKit${LINK_TO_XCODE_TEST_LIB} -F\" $\(SDKROOT\)/Developer/Library/Frameworks\" "
27
27
28
28
# More reliable if the simulator is not already running
@@ -34,7 +34,7 @@ echo "Building unit test bundle"
34
34
echo " ========================="
35
35
echo " xcodebuild -sdk iphonesimulator -scheme${UNIT_TEST_TARGET} build CONFIGURATION_BUILD_DIR=\" ${OUTPUT_DIR} \" "
36
36
echo " ========================="
37
- xcodebuild -sdk iphonesimulator -scheme${UNIT_TEST_TARGET} build CONFIGURATION_BUILD_DIR=" ${OUTPUT_DIR} "
37
+ xcodebuild -sdk iphonesimulator -scheme" ${UNIT_TEST_TARGET} " build CONFIGURATION_BUILD_DIR=" ${OUTPUT_DIR} "
38
38
if [[$? != 0 ]]; then
39
39
echo " Failed to build unit tests!"
40
40
exit $?
@@ -46,7 +46,7 @@ echo "Building app with xcodetest"
46
46
echo " ==========================="
47
47
echo " xcodebuild -sdk iphonesimulator -scheme${MAIN_APP_TARGET} build CONFIGURATION_BUILD_DIR=\" ${OUTPUT_DIR} \" XCODE_TEST_LDFLAGS=\" ${XCODE_TEST_LDFLAGS} \" "
48
48
echo " ==========================="
49
- xcodebuild -sdk iphonesimulator -scheme${MAIN_APP_TARGET} build CONFIGURATION_BUILD_DIR=" ${OUTPUT_DIR} " XCODE_TEST_LDFLAGS=" ${XCODE_TEST_LDFLAGS} "
49
+ xcodebuild -sdk iphonesimulator -scheme" ${MAIN_APP_TARGET} " build CONFIGURATION_BUILD_DIR=" ${OUTPUT_DIR} " XCODE_TEST_LDFLAGS=" ${XCODE_TEST_LDFLAGS} "
50
50
if [[$? != 0 ]]; then
51
51
echo " Failed to build app!"
52
52
exit $?
@@ -67,13 +67,13 @@ echo " In Xcode: set Other Linker Flags to include \$(XCODE_TEST_LDFLAGS)"
67
67
echo " ================="
68
68
69
69
# Run the app in the simulator, will automatically load and run unit tests
70
- OUT_FILE=${OUTPUT_DIR} /waxsim.out
71
- XCODE_TEST_PATH=${XCODE_TEST_PATH} waxsim${OUTPUT_DIR} /${MAIN_APP_TARGET} .app -SenTest All> ${OUT_FILE} 2>&1
72
- cat${OUT_FILE}
70
+ OUT_FILE=" ${OUTPUT_DIR} /waxsim.out"
71
+ XCODE_TEST_PATH=" ${XCODE_TEST_PATH} " waxsim" ${OUTPUT_DIR} /${MAIN_APP_TARGET} .app" -SenTest All> " ${OUT_FILE} " 2>&1
72
+ cat" ${OUT_FILE} "
73
73
osascript -e' tell app "iPhone Simulator" to quit'
74
74
75
75
# if there was a failure, show what waxsim was hiding and crucially return with a non-zero exit code
76
- grep -q" : error:" $OUT_FILE
76
+ grep -q" : error:" " $OUT_FILE "
77
77
success=` exec grep -c" : error:" $OUT_FILE `
78
78
79
79
if [[$success != 0 ]]; then