aboutsummaryrefslogtreecommitdiff
path: root/Practical2/tester/test.sh
diff options
context:
space:
mode:
Diffstat (limited to 'Practical2/tester/test.sh')
-rwxr-xr-xPractical2/tester/test.sh31
1 files changed, 31 insertions, 0 deletions
diff --git a/Practical2/tester/test.sh b/Practical2/tester/test.sh
new file mode 100755
index 0000000..f0f46e8
--- /dev/null
+++ b/Practical2/tester/test.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+java="/usr/lib/jvm/java-8-openjdk-amd64/bin/java"
+
+failed=0
+
+cd "$(dirname $0)/../out/production/Practical2"
+for tc in ../../../tester/samples/*.in; do
+ answer=$(cat ${tc/in/out})
+ header=$(head -n1 "$tc" | tr -d '\n')
+ echo -n "Running $(basename $tc) $(printf '%-12s' "($answer ")$(printf '%-12s' "/ $header)") ... "
+ time_start=$(($(date +%s%N)/1000000))
+ result=$(eval "cat '$tc' | /usr/lib/jvm/java-8-openjdk-amd64/bin/java nl.camilstaps.cs.Main")
+ time_end=$(($(date +%s%N)/1000000))
+ time=`expr $time_end - $time_start`
+ if [ $result != $answer ]; then
+ echo "failure ($time ms)."
+ failed=$(($failed+1))
+ else
+ echo "success ($time ms)."
+ fi
+done
+cd - >/dev/null
+
+if [ $failed -eq 0 ]; then
+ echo "All tests passed."
+elif [ $failed -eq 1 ]; then
+ echo "1 test failed."
+else
+ echo "$failed tests failed."
+fi
+