aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/test.fish
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test.fish')
-rwxr-xr-xtests/test.fish42
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/test.fish b/tests/test.fish
new file mode 100755
index 00000000..082db468
--- /dev/null
+++ b/tests/test.fish
@@ -0,0 +1,42 @@
+#!/usr/local/bin/fish
+#
+# Main loop of the test suite. I wrote this
+# instad of using autotest to provide additional
+# testing for fish. :-)
+
+echo Testing high level script functionality
+
+for i in *.in
+ set template_out (basename $i .in).out
+ set template_err (basename $i .in).err
+ set template_status (basename $i .in).status
+
+ ../fish <$i >tmp.out ^tmp.err
+ echo $status >tmp.status
+ set res ok
+ if diff tmp.out $template_out >/dev/null
+ else
+ set res fail
+ echo Output differs for file $i
+ end
+
+ if diff tmp.err $template_err >/dev/null
+ else
+ set res fail
+ echo Error output differs for file $i
+ end
+
+ if test (cat tmp.status) = (cat $template_status)
+ else
+ set res fail
+ echo Exit status differs for file $i
+ end
+
+ if test $res = ok;
+ echo File $i tested ok
+ else
+ echo File $i failed tests
+ end;
+
+end
+