]> mj.ucw.cz Git - moe.git/blobdiff - bin/ev
Added a switch for allowing timing syscalls.
[moe.git] / bin / ev
diff --git a/bin/ev b/bin/ev
index c25f97a7af9670e9716876efd71adbb68e22a05c..ad44b496594e950b071c9010a2df321322ac0e62 100755 (executable)
--- a/bin/ev
+++ b/bin/ev
@@ -1,3 +1,4 @@
+#!/bin/bash
 # The Evaluator -- Master Control Script
 # (c) 2001 Martin Mares <mj@ucw.cz>
 
@@ -10,13 +11,14 @@ fi
 . config
 
 # Set up environment:
+#   HDIR       home dir of the evaluator
 #   PDIR       problem specific data
 #   SDIR       contestant's solution
 #   TDIR       test results
 #   BOXDIR     sandbox
 #   PROBLEM    problem we're evaluating
 
-[ -n "$2" ] || die "Usage: ev <contestant> <problem>"
+[ -n "$2" ] || die "Usage: ev <contestant> <problem> [<program>]"
 CONTESTANT=$1
 PROBLEM=$2
 dir-init
@@ -25,29 +27,27 @@ log-init
 box-init
 
 # Compile the program
-locate-source
+locate-source $3
 compile
 
 # Perform the tests
+PTSFILE=$TDIR/points
 for TEST in $TESTS ; do
        (
-       pstart "Test $TEST... "
        [ -f $PDIR/$TEST.config ] && . $PDIR/$TEST.config
        exec >$TDIR/$TEST.log
-       PTSFILE=$TDIR/$TEST.pts
+       pstart "Test $TEST ($POINTS_PER_TEST points)... "
        echo "Test $TEST ($POINTS_PER_TEST points)"
-       if [ ! -f $TDIR/compile.out ] ; then
-               echo >$PTSFILE "0 --"
-               die "No source file"
-       fi
+       echo >>$PTSFILE -n "$TEST "
        if [ ! -f $TDIR/$PROBLEM ] ; then
-               echo >$PTSFILE "0 CE"
+               echo >$PTSFILE "0 Compile error."
                die "No executable file"
        fi
-       $TEST_RUN_METHOD || exit 0
-
+       test-run || exit 0
+       syntax-check || exit 0
+       output-check || exit 0
        echo "Test completed OK ($POINTS_PER_TEST points)"
-       echo >$PTSFILE "$POINTS_PER_TEST OK"
+       echo >>$PTSFILE "$POINTS_PER_TEST OK"
        pend "OK"
        )
 done