blob: 5e2cb116755385a16580196ce42ddad99d1e0099 (
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
32
33
34
35
36
37
38
39
|
#!/bin/bash
d=$3
[ x$d = x ] && d=.
[ x$1 = x ] && { echo kot prvi argument bi morali navesti ime .java datoteke!; exit 1; }
[ x$2 = x ] && { echo kot drugi argument bi morali navesti pot do direktorija s testi!; exit 1; }
uspelih=0
napa=0
predolg=0
for f in $2/*.in
do
echo -n "$f ... "
uspeh=0
out=$(timeout 5s /usr/bin/time --quiet -f %E diff --side-by-side <(java $1 < $f) `sed s/in$/out/ <<<$f` 2>&1) && uspeh=1
koda=$?
if [ $uspeh -eq 0 ]
then
if [ $koda -eq 124 ]
then
predolg=$(($predolg+1))
echo "PREKORAČEN ČAS 5s!"
echo "VHOD:"
cat $f
else
napa=$(($napa+1))
echo "NAPAČEN IZHOD! Čas izvajanja: `tail -n1 <<<$out`"
echo "VHOD:"
cat $f
echo "IZHOD: Levo je vaš izhod, desno je pravilen izhod:"
head -n-1 <<<$out
fi
else
uspelih=$(($uspelih+1))
echo "USPELO! Čas izvajanja: `tail -n1 <<<$out`"
fi
echo
done
echo "uspešnih testov: $uspelih"
echo "napačnih izhodov: $napa"
echo "prekoračen čas 5s: $predolg"
|