aboutsummaryrefslogtreecommitdiff
path: root/Practical2/tester/test.sh
blob: f0f46e86f3b95ba706e99aadc16d4fabe9510974 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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