blob: 0002dd34d1656c2b4444b0effd76aa20cdf19295 [file] [log] [blame]
#!/bin/sh
# Builds and runs tests for a particular target passed as an argument to this
# script.
set -ex
TARGET=$1
if [ -f /etc/cargo_config ] && [ -d /cargo ]; then cp -f /etc/cargo_config /cargo/config; fi
cargo build --target=$TARGET --test test --verbose
# Find the file to run
TEST_FILE=$(find target/$TARGET/debug -maxdepth 1 -type f -perm -111 -name "test-*" | head -1)
case "$TARGET" in
arm-linux-androideabi)
# Use the 64bit emulator
emulator64-arm @arm-21 -no-window &
adb wait-for-device
adb push $TEST_FILE /data/mio-test
adb shell /data/mio-test 2>&1 | tee /tmp/out
grep "^test result.* 0 failed" /tmp/out
;;
aarch64-linux-android)
# Use the 64bit emulator
export LD_LIBRARY_PATH="/android/sdk/emulator/lib64/qt/lib:/usr/lib/x86_64-linux-gnu"
qemu-system-aarch64 @arm64-24 -memory 768 -accel off -gpu off -no-skin -no-window -no-audio -no-snapshot-load -no-snapshot-save &
adb wait-for-device
adb root
adb push $TEST_FILE /data/mio-test
#adb unroot
adb shell chmod 755 /data/mio-test
adb shell /data/mio-test 2>&1 | tee /tmp/out
grep "^test result.* 0 failed" /tmp/out
;;
*)
exit 1;
;;
esac