summaryrefslogtreecommitdiffstats
path: root/šola/p1/dn/tj.sh
blob: 8def9e2568306aa23b909fd56a68d72b3704ee9d (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
#!/bin/bash
d=$3
[ x$d = x ] && d=.
echo "$0 -- Anton Luka Šijanec <anton@sijanec.eu> -- 2023"
echo http://ni.šijanec.eu./sijanec/r/tree/šola/p1/dn/tj.sh
echo
[ 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 $f
	uspeh=0
	timeout 5s /usr/bin/time --quiet -f %E diff --side-by-side <(java $1 < $f) `sed s/in$/out/ <<<$f` && uspeh=1
	koda=$?
	if [ $uspeh -eq 0 ]
	then
		if [ $koda -eq 124 ]
		then
			predolg=$(($predolg+1))
			echo "^^ čas izvajanja	PREKORAČEN ČAS 5s!"
		else
			napa=$(($napa+1))
			echo "^^ čas izvajanja	NAPAČNO! levo je vaš izhod, desno je pravilen izhod"
		fi
	else
		uspelih=$(($uspelih+1))
		echo "^^ čas izvajanja	USPELO"
	fi
	echo
done
echo
echo "uspešnih testov:	$uspelih"
echo "napačnih izhodov:	$napa"
echo "prekoračen čas 5s:	$predolg"