* tests/regression/jasmin/runtest: Improved harness script.
[cacao.git] / tests / regression / jasmin / runtest
1 #!/bin/sh
2
3 VERBOSE=0
4 EXITCODE=0
5
6 if [ -z "$JAVA" ] ; then
7         JAVA=../../../src/cacao/cacao
8 fi
9
10 if [ "$1" = "--verbose" ] ; then
11         shift
12         VERBOSE=1
13 fi
14
15 JASMIN_JAR=/usr/share/java/jasmin-sable.jar
16 JASMIN="$JAVA -cp $JASMIN_JAR jasmin.Main"
17
18 while [ -n "$1" ]
19 do
20     TEST="$1"
21     TESTBASENAME=$(basename "$TEST" .j)
22
23     TESTOUT="TESTOUT"
24     TESTEXPECT="TESTEXPECT"
25     TESTLOG="TESTLOG"
26
27     $JASMIN "$TEST" || exit 2
28     $JAVA "$TESTBASENAME" >"$TESTOUT" || exit 2
29
30     grep 'OUTPUT:' "$TEST" | sed 's,.*OUTPUT:\s*,,' >"$TESTEXPECT"
31
32     if diff -u "$TESTEXPECT" "$TESTOUT" ; then
33         echo "PASS: $TEST"
34     else
35         echo "FAIL: $TEST"
36         EXITCODE=1
37     fi
38
39     if [ "$VERBOSE" -eq "1" ] ; then
40         $JAVA -sia "$TESTBASENAME" >"$TESTLOG" || exit 2
41         ./show "$TESTLOG"
42     fi
43
44     shift
45 done
46
47 #rm -f "$TESTOUT" "$TESTEXPECT" "$TESTLOG"
48
49 exit $EXITCODE
50