darling-dyld/unit-tests/build-iPhoneOS-unit-tests
2022-04-18 20:33:29 -07:00

53 lines
2.2 KiB
Bash
Executable File

#!/bin/sh
# cd into test-cases directory
TEST_CASE_DIR=`echo "$0" | sed 's/build-iPhoneOS-unit-tests/test-cases/'`
cd ${TEST_CASE_DIR}
TEST_CASE_DIR=`pwd`
# make clean
../bin/make-recursive.pl clean > /dev/null
# clean staging area
rm -rf /var/root/testing
mkdir /var/root/testing
# create scripts to run test cases on device
echo "#!/bin/sh" > /var/root/testing/run-all-tests
chmod +x /var/root/testing/run-all-tests
# do every combination of OS version and architectures
for os in "8.0"
do
for arch in armv7 arm64
do
# make copy of tests
cp -r ${TEST_CASE_DIR}/../../unit-tests /var/root/testing/unit-tests-${arch}-${os}
# build but don't run test cases
echo " * * * Building all unit tests for ${arch} iPhoneOS ${os} * * *"
cd /var/root/testing/unit-tests-${arch}-${os}/test-cases
../bin/make-recursive.pl ARCH=${arch} OS_VERSION=${os} OS_NAME=iPhoneOS all | ../bin/build-results-filter.pl
# update script
echo "cd /var/root/testing/unit-tests-${arch}-${os}" >> /var/root/testing/run-all-tests
echo "echo \" * * * Running all unit tests for ${arch} iPhoneOS ${os} * * *\"" >> /var/root/testing/run-all-tests
echo "bin/make-recursive.pl OS_NAME=iPhoneOS check | bin/result-filter.pl" >> /var/root/testing/run-all-tests
done
done
# tar up all test cases
echo " * * * Making archive * * *"
cd /var/root
ditto -c -z testing /tmp/dyld-testing.cpgz
# create script to unpack on device
echo "#!/bin/sh" > /tmp/unpack-and-run-all-tests
echo "echo \" * * * Unpacking test cases * * *\"" >> /tmp/unpack-and-run-all-tests
echo "/sbin/mount -u /private/var" >> /tmp/unpack-and-run-all-tests
echo "chmod +x /var/root" >> /tmp/unpack-and-run-all-tests
echo "cd /var/root" >> /tmp/unpack-and-run-all-tests
echo "rm -rf /var/root/testing" >> /tmp/unpack-and-run-all-tests
echo "ditto -x /tmp/dyld-testing.cpgz testing" >> /tmp/unpack-and-run-all-tests
echo "/var/root/testing/run-all-tests" >> /tmp/unpack-and-run-all-tests
chmod +x /tmp/unpack-and-run-all-tests