diff options
Diffstat (limited to 'Practical2/tester/test.sh')
-rwxr-xr-x | Practical2/tester/test.sh | 31 |
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 + |