#!/bin/sh unset RC_TRACE_DYLIBS unset RC_TRACE_ARCHIVES unset LD_TRACE_DYLIBS unset LD_TRACE_ARCHIVES # cd into test-cases directory 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" # only test arm code if iOS platform tools installed min_available_ios_sdk_version() { ls "${ios_sdk_directory}" | grep --invert-match --ignore-case "internal" | # exclude internal SDKs sort --version-sort | head -n 1 | # take SDK with min version sed "s/^iPhoneOS\(.*\)\.sdk$/\1/" # return only the version string } version_ge() { test "$(printf '%s\n' "$@" | sort --version-sort | head -n 1)" == "$2"; } if [ -d $ios_sdk_directory ] then arm_arch="armv7" # Newer SDKs don't support older architectures. 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 # clean first ../bin/make-recursive.pl clean > /dev/null mkdir /tmp/$$ for arch in $all_archs do echo "" echo " * * * Running all unit tests for architecture $arch * * *" # build architecture [ "$NEWTEST" ] && NT=-newtest ../bin/make-recursive$NT.pl ARCH=$arch VALID_ARCHS="$valid_archs" | ../bin/result-filter.pl # clean up so svn is happy ../bin/make-recursive.pl ARCH=$arch clean > /dev/null echo "" done