--- /dev/null
+#!/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! ********************"
+)
+