#! /bin/sh

set -e

BOCK=../bock
BOCKLIB=../lib
export BOCK BOCKLIB

JCOMP="sh ../jcomp"

from() {
	echo '***' Running test from ${1}...
}

mkdir -p output

echo '***' Running tests from \"The Java Language Specification\"...

from p5
${JCOMP} -o output/p5 -s Test p5.java
./output/p5 Hello, world. > output/p5.out 2>&1
diff p5.good.output output/p5.out

from p26
echo '*** (not checking output)'
${JCOMP} -o output/p26 -s testPackage.Test p26*.java
./output/p26 > output/p26.out 2>&1

from p32
${JCOMP} -o output/p32 -s Test p32.java
./output/p32 > output/p32.out 2>&1
diff p32.good.output output/p32.out

echo '* Not running test from p35'

#from p38
#${JCOMP} -o output/p38 -s Test p38.java
#./output/p38 > output/p38.out 2>&1
#diff p38.good.output output/p38.out

echo '***' Running miscellaneous tests...

echo '***' Compiling and running jlex and checking output matches JDK...
${JCOMP} -o jlex -s JLex.Main jlex.java
./jlex sample.lex
diff sample.lex.java.good sample.lex.java
