diff options
Diffstat (limited to 'test/TestRunner.sh')
-rwxr-xr-x | test/TestRunner.sh | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/TestRunner.sh b/test/TestRunner.sh new file mode 100755 index 0000000..7258467 --- /dev/null +++ b/test/TestRunner.sh @@ -0,0 +1,22 @@ +#!/bin/sh +# +# TestRunner.sh - This script is used to run arbitrary unit tests. Unit +# tests must contain the command used to run them in the input file, starting +# immediately after a "RUN:" string. +# +# This runner recognizes and replaces the following strings in the command: +# %s - Replaced with the input name of the program +# + +PROGRAM=`grep 'RUN:' $1 | sed "s/^.*RUN:\(.*\)$/\1/g;s/%s/$1/g" | head -n 1` +OUTPUT=Output/$1.out + +($PROGRAM) > $OUTPUT 2>&1 || ( + echo "******************** TEST '$1' FAILED! ********************" + echo "Command: " $PROGRAM + echo "Output:" + cat $OUTPUT + rm $OUTPUT + echo "******************** TEST '$1' FAILED! ********************" +) + |