]> mj.ucw.cz Git - moe.git/blob - bin/ev-open
The Big Cleanup.
[moe.git] / bin / ev-open
1 #!/bin/bash
2 # The Evaluator for Open Data Problems
3 # (c) 2001--2004 Martin Mares <mj@ucw.cz>
4
5 set -e
6 if [ ! -f config -o ! -f bin/lib ] ; then
7         echo "Unable to find evaluator files!"
8         exit 1
9 fi
10 . bin/lib
11 . config
12
13 [ -n "$2" ] || die "Usage: ev-open <contestant> <problem>"
14 CONTESTANT=$1
15 PROBLEM=$2
16 dir-init
17 log-init
18 . $PDIR/config
19
20 # Initialize the points file
21 PTSFILE=$TDIR/points
22 >$PTSFILE
23
24 function test-verdict
25 {
26         if [ $1 == 0 ] ; then
27                 pend "$2"
28         else
29                 pend "$2 ($1 points)"
30         fi
31         echo >>$PTSFILE "$TEST $1 $2"
32         exit 0
33 }
34
35 # Perform the tests
36 PTSFILE=$TDIR/points
37 for TEST in $TESTS ; do
38         (
39         [ -f $PDIR/$TEST.config ] && . $PDIR/$TEST.config
40         exec >$TDIR/$TEST.log
41         pstart "Test $TEST... "
42         echo "Test $TEST ($POINTS_PER_TEST points)"
43         [ -f $SDIR/$TEST.out ] || test-result 0 "No solution."
44         ln $SDIR/$TEST.out $TDIR/$TEST.out
45         syntax-check
46         output-check
47         die "You must never see this message."
48         )
49 done