summaryrefslogtreecommitdiff
path: root/test.sh
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 /test.sh
parenta8e2b9734246599ffea99002fb244905b0819987 (diff)
Add universal tester file
Diffstat (limited to 'test.sh')
-rwxr-xr-xtest.sh37
1 files changed, 37 insertions, 0 deletions
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