+ if [ $EXPECTSTATUS -eq 0 ] ; then
+ grep 'OUTPUT:' "$TEST" | sed 's,.*OUTPUT:[ \t]*,,' >"$TESTEXPECT"
+
+ if diff -u "$TESTEXPECT" "$TESTOUT" ; then
+ if [ $TESTSTATUS -eq 0 ] ; then
+ echo $ECHOFLAGS "${PASSCOLOR}PASS: $TESTBASENAME${NOCOLOR}"
+ fi
+ else
+ echo $ECHOFLAGS "${FAILCOLOR}FAIL: $TESTBASENAME - wrong output${NOCOLOR}"
+ EXITCODE=1
+ fi
+
+ if [ "$VERBOSE" -eq "1" ] ; then
+ eval $JAVACMD $JAVAFLAGS -sia "$TESTBASENAME" >"$TESTLOG" || exit 2
+ ./show "$TESTLOG"
+ fi
+ else
+ if grep "$EXPECTERROR" "$TESTERR" >/dev/null ; then
+ echo $ECHOFLAGS "${PASSCOLOR}PASS: $TESTBASENAME - got expected error: $EXPECTERROR${NOCOLOR}"
+ else
+ echo $ECHOFLAGS "${FAILCOLOR}FAIL: $TESTBASENAME - did not get expected error: $EXPECTERROR${NOCOLOR}"
+ EXITCODE=1
+ fi
+ fi
+
+ if [ "$CHECKICMD" -ne 0 ] ; then
+ rm -f "$TESTSIA"
+ touch "$TESTSIA"
+ eval $JAVACMD $JAVAFLAGS -sia "$TESTBASENAME" >"$TESTSIA" 2>/dev/null
+ cat "$TESTSIA" | sed -n '/^'"$TESTBASENAME"'\.main/,$p' | sed '/^=====.*flags: -1/,$d' | grep "$EXPECTICMD"
+ fi