summaryrefslogtreecommitdiff
path: root/vis/test.sh
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2016-04-19 14:10:13 +0200
committerMarc André Tanner <mat@brain-dump.org>2016-04-19 14:10:13 +0200
commit2e102a11afe9b256f0f9cf5391faf445fd40430a (patch)
treefcf8f6f4e2b7832bed9c380bf49bcc491ca06292 /vis/test.sh
Initial import of test branch from vis repository
Diffstat (limited to 'vis/test.sh')
-rwxr-xr-xvis/test.sh35
1 files changed, 35 insertions, 0 deletions
diff --git a/vis/test.sh b/vis/test.sh
new file mode 100755
index 0000000..a52fe0f
--- /dev/null
+++ b/vis/test.sh
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+[ -z "$VIS" ] && VIS="../../vis"
+
+TESTS=$1
+[ -z "$TESTS" ] && TESTS=$(find . -name '*.keys' | sed 's/\.keys$//g')
+
+TESTS_RUN=0
+TESTS_OK=0
+
+$VIS -v
+
+for t in $TESTS; do
+ ERR="$t.err"
+ OUT="$t.out"
+ REF="$t.ref"
+ printf "Running test %s ... " "$t"
+ rm -f "$OUT" "$ERR"
+ { cat "$t.keys"; printf "<Escape>:wq! $OUT<Enter>"; } | cpp -P | ../util/keys | $VIS "$t.in" 2> /dev/null
+ if [ -e "$OUT" ]; then
+ if cmp -s "$REF" "$OUT"; then
+ printf "OK\n"
+ TESTS_OK=$((TESTS_OK+1))
+ else
+ printf "FAIL\n"
+ diff -u "$REF" "$OUT" > "$ERR"
+ fi
+ TESTS_RUN=$((TESTS_RUN+1))
+ fi
+done
+
+printf "Tests ok %d/%d\n" $TESTS_OK $TESTS_RUN
+
+# set exit status
+[ $TESTS_OK -eq $TESTS_RUN ]