Add some convenience scripts
diff --git a/tests/manual.sh b/tests/manual.sh
new file mode 100755
index 0000000..7f70938
--- /dev/null
+++ b/tests/manual.sh
@@ -0,0 +1,28 @@
+#! /bin/sh
+
+if [ "$#" -lt 1 ]; then
+	echo "usage: manual.sh <bc> [exprs...]"
+	exit 1
+fi
+
+set -e
+
+bc="$1"
+shift
+
+bcdir=$(dirname "${bc}")
+
+out1="$bcdir/log_bc.txt"
+out2="$bcdir/log_test.txt"
+
+rm -rf "$out1"
+rm -rf "$out2"
+
+for string in "$@"; do
+
+	echo "$string" | bc -q >> "$out1"
+	echo "$string" | "$bc" -q >> "$out2"
+
+done
+
+diff "$out1" "$out2"
diff --git a/tests/script.sh b/tests/script.sh
new file mode 100644
index 0000000..a358c93
--- /dev/null
+++ b/tests/script.sh
@@ -0,0 +1,28 @@
+#! /bin/sh
+
+s="$0"
+
+testdir=$(dirname "$s")
+
+if [ "$#" -lt 1 ]; then
+	echo "usage: script.sh <script> [bc]"
+	exit 1
+fi
+
+script="$1"
+shift
+
+if [ "$#" -lt 1 ]; then
+	bc="$testdir/../bc"
+else
+	bc="$1"
+fi
+
+set -e
+
+bcdir=$(dirname "${bc}")
+
+out1="$bcdir/log_bc.txt"
+out2="$bcdir/log_test.txt"
+
+"$testdir/scripts/script.sh" "$bc" "$out1" "$out2" "$script"
diff --git a/tests/scripts.sh b/tests/scripts.sh
new file mode 100755
index 0000000..a73414d
--- /dev/null
+++ b/tests/scripts.sh
@@ -0,0 +1,43 @@
+#! /bin/sh
+
+if [ "$#" -lt 3 ]; then
+	echo "usage: scripts.sh <bc> <test_output1> <test_output2>"
+	exit 1
+fi
+
+set -e
+
+bc="$1"
+shift
+
+out1="$1"
+shift
+
+out2="$1"
+shift
+
+script="$0"
+
+testdir=$(dirname "${script}")
+
+for s in $testdir/scripts/*.bc; do
+
+	rm -rf "$out1"
+	rm -rf "$out2"
+
+	echo "halt" | bc -lq "$s" > "$out1"
+	echo "halt" | "$bc" -lq "$s" > "$out2"
+
+	diff "$out1" "$out2"
+
+done
+
+set +e
+
+# TODO: Read tests
+# TODO: Lex errors
+# TODO: Parse errors
+# TODO: VM errors
+# TODO: Math errors
+# TODO: POSIX warnings
+# TODO: POSIX errors
diff --git a/tests/scripts/script.sh b/tests/scripts/script.sh
new file mode 100644
index 0000000..d279b6a
--- /dev/null
+++ b/tests/scripts/script.sh
@@ -0,0 +1,24 @@
+#! /bin/sh
+
+if [ "$#" -lt 4 ]; then
+	echo "usage: script.sh <bc> <test_output1> <test_output2> <script>"
+	exit 1
+fi
+
+set -e
+
+bc="$1"
+shift
+
+out1="$1"
+shift
+
+out2="$1"
+shift
+
+script="$1"
+
+echo "quit" | bc -lq "$script" > "$out1"
+echo "quit" | "$bc" -lq "$script" > "$out2"
+
+diff "$out1" "$out2"