# cd into test-cases directory
cd `echo "$0" | sed 's/run-all-unit-tests/test-cases/'`
-echo ""
-echo " * * * Running all unit tests for 32-bits * * *"
+# save crash reporter state
+CRSTATE=`defaults read com.apple.CrashReporter DialogType`
+defaults write com.apple.CrashReporter DialogType basic
-# make clean
-../bin/make-recursive.pl clean > /dev/null
-
-# build default architecture
-../bin/make-recursive.pl | ../bin/result-filter.pl
-
-# if G5, then also run all test cases built for ppc64
-if [ `machine` = "ppc970" ]
-then
+# run test targeting different OS versions
+for OSVERSION in 10.9 10.8 10.7 10.6 10.5 10.4
+do
echo ""
- echo " * * * Running all unit tests for 64-bits * * *"
-
+ echo " * * * Running all unit tests i386 built for $OSVERSION * * *"
+
# make clean
../bin/make-recursive.pl clean > /dev/null
- # build 64-bit architecture
- ../bin/make-recursive.pl ARCH="-arch ppc64" | ../bin/result-filter.pl
-fi
+ # build default architecture
+ ../bin/make-recursive.pl ARCH="i386" OS_VERSION=$OSVERSION OS_NAME=MacOSX | ../bin/result-filter.pl
-# if Intel, then also run all test cases under emulation
-if [ `machine` = "pentium4" ]
-then
- echo ""
- echo " * * * Running all unit tests for emulated 32-bits * * *"
-
- # make clean
- ../bin/make-recursive.pl clean > /dev/null
+ # if 64-bit capable Intel, then also run all test cases for 64-bits
+ if [ `sysctl -n hw.optional.x86_64` = "1" ]
+ then
+ echo ""
+ echo " * * * Running all unit tests x86_64 built for $OSVERSION * * *"
+
+ # make clean
+ ../bin/make-recursive.pl clean > /dev/null
+
+ # build x86_64 architecture
+ ../bin/make-recursive.pl ARCH="x86_64" OS_VERSION=$OSVERSION OS_NAME=MacOSX | ../bin/result-filter.pl
+ fi
+
+done
+
+# restore crash reporter state
+defaults write com.apple.CrashReporter DialogType ${CRSTATE}
- # build 64-bit architecture
- ../bin/make-recursive.pl ARCH="-arch ppc" | ../bin/result-filter.pl
-fi