11 if [ -z "$JAVA" ] ; then
12 JAVA=../../../src/cacao/cacao
15 if [ "$1" = "--verbose" ] ; then
20 if [ "$1" = "--color" ] ; then
23 PASSCOLOR='\033[1;32m'
24 FAILCOLOR='\033[1;31m'
29 JASMIN_JAR=/usr/share/java/jasmin-sable.jar
30 JASMIN="$JAVA -cp $JASMIN_JAR jasmin.Main"
35 TESTBASENAME=$(basename "$TEST" .j)
38 TESTEXPECT="TESTEXPECT"
46 $JASMIN "$TEST" || exit 2
48 if grep 'ERROR:' "$TEST" >/dev/null ; then
50 EXPECTERROR=$(grep -o 'ERROR:.*' "$TEST" | sed 's,ERROR:\s*,,')
55 $JAVA "$TESTBASENAME" >"$TESTOUT" 2>"$TESTERR"
58 if [ $TESTSTATUS -ne $EXPECTSTATUS ] ; then
59 echo $ECHOFLAGS "${FAILCOLOR}FAIL: $TEST - expected status $EXPECTSTATUS, but got $TESTSTATUS${NOCOLOR}"
63 if [ $EXPECTSTATUS -eq 0 ] ; then
64 grep 'OUTPUT:' "$TEST" | sed 's,.*OUTPUT:\s*,,' >"$TESTEXPECT"
66 if diff -u "$TESTEXPECT" "$TESTOUT" ; then
67 if [ $TESTSTATUS -eq 0 ] ; then
68 echo $ECHOFLAGS "${PASSCOLOR}PASS: $TEST${NOCOLOR}"
71 echo $ECHOFLAGS "${FAILCOLOR}FAIL: $TEST - wrong output${NOCOLOR}"
75 if [ "$VERBOSE" -eq "1" ] ; then
76 $JAVA -sia "$TESTBASENAME" >"$TESTLOG" || exit 2
80 if grep "$EXPECTERROR" "$TESTERR" >/dev/null ; then
81 echo $ECHOFLAGS "${PASSCOLOR}PASS: $TEST - got expected error: $EXPECTERROR${NOCOLOR}"
83 echo $ECHOFLAGS "${FAILCOLOR}FAIL: $TEST - did not get expected error: $EXPECTERROR${NOCOLOR}"
91 rm -f "$TESTOUT" "$TESTEXPECT" "$TESTLOG" "$TESTERR"