summaryrefslogtreecommitdiffstats
path: root/run-tests.fish
diff options
context:
space:
mode:
Diffstat (limited to 'run-tests.fish')
-rw-r--r--run-tests.fish24
1 files changed, 24 insertions, 0 deletions
diff --git a/run-tests.fish b/run-tests.fish
new file mode 100644
index 0000000..22c86d5
--- /dev/null
+++ b/run-tests.fish
@@ -0,0 +1,24 @@
+#!/usr/bin/env fish
+
+set d (realpath (status dirname))
+
+cd $d/bytecode
+cargo build; or return
+
+cd $d
+
+if test (count $argv) -gt 0
+ set files $d/tests/$argv*
+else
+ set files $d/tests/*
+end
+
+for f in $files
+ $d/bytecode/target/debug/bytecode (sml $d/main.sml -o /dev/stderr $f >/dev/null 2>| psub)
+ set -l got $status
+ if test $got -eq 42
+ echo (basename -s.sml $f): PASS
+ else
+ echo (basename -s.sml $f): FAIL "(status $got)"
+ end
+end