test.sh (427B)
1 #!/bin/sh 2 3 SHELLBIN="./debugrun" 4 TESTDIR="./shell/testcases" 5 TESTOUT="shell/lasttest.out" 6 TESTERR="shell/lasttest.err" 7 8 for cin in "$TESTDIR"/*.in; do 9 c=$(echo "$cin" | sed 's/\.in//') 10 cout="$c.out" 11 printf "%s: " "$c" 12 (cat "$cin" | xargs "$SHELLBIN") > $TESTOUT 2> $TESTERR 13 if diff "$cout" "$TESTOUT"; then 14 printf "OK\n" 15 else 16 printf "Test failed! stderr:\n" 17 cat $TESTERR 18 exit 1 19 fi 20 done 21 22 echo "All tests passed!"