summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbd-912 <bdunahu@colostate.edu>2024-04-26 15:26:43 -0600
committerbd-912 <bdunahu@colostate.edu>2024-04-26 15:26:43 -0600
commit012298517078170762112abe2654dc69b2f146e1 (patch)
treec39d5b511e0d7d3975132ddf97c4535150372405
parenta8e2b9734246599ffea99002fb244905b0819987 (diff)
Add universal tester file
-rw-r--r--boil.sh17
-rwxr-xr-xrunner.sh1
-rwxr-xr-xtest.sh37
3 files changed, 38 insertions, 17 deletions
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