#!/bin/bash # Copy the toybox tests across. adb shell mkdir /data/local/tmp/toybox-tests/ adb push tests/ /data/local/tmp/toybox-tests/ adb push scripts/runtest.sh /data/local/tmp/toybox-tests/ # Make a temporary directory on the device. tmp_dir=`adb shell TMPDIR=/data/local/tmp mktemp --directory` test_toy() { toy=$1 echo location=$(adb shell "which $toy") if [ $? -ne 0 ]; then echo "-- $toy not present" return fi echo "-- $toy" implementation=$(adb shell "realpath $location") if [ "$implementation" != "/system/bin/toybox" ]; then echo "-- note: $toy is non-toybox implementation" fi adb shell -t "export FILES=/data/local/tmp/toybox-tests/tests/files/ ; \ export VERBOSE=1 ; \ export CMDNAME=$toy; \ export C=$toy; \ export LANG=en_US.UTF-8; \ cd $tmp_dir ; \ source /data/local/tmp/toybox-tests/runtest.sh ; \ source /data/local/tmp/toybox-tests/tests/$toy.test" } if [ "$#" -eq 0 ]; then # Run all the tests. for t in tests/*.test; do toy=`echo $t | sed 's|tests/||' | sed 's|\.test||'` test_toy $toy done else # Just run the tests for the given toys. for toy in "$@"; do test_toy $toy done fi