From 012298517078170762112abe2654dc69b2f146e1 Mon Sep 17 00:00:00 2001 From: bd-912 Date: Fri, 26 Apr 2024 15:26:43 -0600 Subject: Add universal tester file --- boil.sh | 17 ----------------- runner.sh | 1 + test.sh | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+), 17 deletions(-) delete mode 100644 boil.sh create mode 100755 test.sh diff --git a/boil.sh b/boil.sh deleted file mode 100644 index 3eade60..0000000 --- a/boil.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -for i in ./boil/tests/*.java; do - [ -f "$i" ] || break - n=${i%.java} - javac -g $i - - expected=$(java -cp ./boil/tests/ ${n##*/}) - - java J2V < $i > test.vapor - actual=$(java -jar vapor.jar run test.vapor) - - echo -n "$(basename ${i}): " - [[ $expected == $actual ]] && echo 'PASSED' || echo -e "FAILED" -done - -rm test.vapor diff --git a/runner.sh b/runner.sh index 3e56fa3..89a1e7c 100755 --- a/runner.sh +++ b/runner.sh @@ -37,6 +37,7 @@ function vaporize() { function condense() { # condense the file + echo "Not finished!" } diff --git a/test.sh b/test.sh new file mode 100755 index 0000000..5e5340c --- /dev/null +++ b/test.sh @@ -0,0 +1,37 @@ +#!/bin/sh + +################################################## +# A test script that uses ./runner.sh to run all # +# tests for a given phase. # +################################################## + +testdir="./output" +case "$1" in + "typecheck") + ext="java" + ;; + "boil") + ext="java" + ;; + "vaporize") + ext="vapor" + ;; + "condense") + ext="vaporm" + ;; + *) + echo "usage $0 [java|typecheck|boil|vaporize|condense]" + exit 1 + ;; +esac + +echo "$testdir/*.$ext" + +for file in $testdir/*.$ext; do + [ -f "$file" ] || break + base=${file%.*} + echo -n "Processing file: $base " + expected=$(bash runner.sh java "${base}.java") + actual=$(bash runner.sh $1 $file 2>/dev/null) + [[ $expected == $actual ]] && echo 'PASSED' || echo -e "FAILED" +done -- cgit v1.2.3