run-all-unit-tests [plain text]
#!/bin/sh
unset RC_TRACE_DYLIBS
unset RC_TRACE_ARCHIVES
unset LD_TRACE_DYLIBS
unset LD_TRACE_ARCHIVES
cd `echo "$0" | sed 's/run-all-unit-tests/test-cases/'`
[ "$PROCTORRUN" ] && exec ../proctor-run
all_archs="x86_64 i386"
valid_archs="x86_64 i386"
ios_sdk_directory="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs"
min_available_ios_sdk_version()
{
ls "${ios_sdk_directory}" |
grep --invert-match --ignore-case "internal" | sort --version-sort | head -n 1 | sed "s/^iPhoneOS\(.*\)\.sdk$/\1/" }
version_ge()
{
test "$(printf '%s\n' "$@" | sort --version-sort | head -n 1)" == "$2";
}
if [ -d $ios_sdk_directory ]
then
arm_arch="armv7"
if version_ge "$(min_available_ios_sdk_version)" "11.0"
then
arm_arch="arm64"
fi
all_archs="${all_archs} ${arm_arch}"
valid_archs="${valid_archs} ${arm_arch}"
fi
../bin/make-recursive.pl clean > /dev/null
mkdir /tmp/$$
for arch in $all_archs
do
echo ""
echo " * * * Running all unit tests for architecture $arch * * *"
[ "$NEWTEST" ] && NT=-newtest
../bin/make-recursive$NT.pl ARCH=$arch VALID_ARCHS="$valid_archs" | ../bin/result-filter.pl
../bin/make-recursive.pl ARCH=$arch clean > /dev/null
echo ""
done