# The Evaluator -- Master Control Script # (c) 2001 Martin Mares set -e if [ ! -f config -o ! -f bin/lib ] ; then echo "Unable to find evaluator files!" exit 1 fi . bin/lib . config # Set up environment: # PDIR problem specific data # SDIR contestant's solution # TDIR test results # BOXDIR sandbox # PROBLEM problem we're evaluating [ -n "$2" ] || die "Usage: ev " CONTESTANT=$1 PROBLEM=$2 dir-init log-init . $PDIR/config box-init # Compile the program locate-source compile # Perform the tests for TEST in $TESTS ; do ( pstart "Test $TEST... " [ -f $PDIR/$TEST.config ] && . $PDIR/$TEST.config exec >$TDIR/$TEST.log PTSFILE=$TDIR/$TEST.pts echo "Test $TEST ($POINTS_PER_TEST points)" if [ ! -f $TDIR/compile.out ] ; then echo >$PTSFILE "0 --" die "No source file" fi if [ ! -f $TDIR/$PROBLEM ] ; then echo >$PTSFILE "0 CE" die "No executable file" fi $TEST_RUN_METHOD || exit 0 echo "Test completed OK ($POINTS_PER_TEST points)" echo >$PTSFILE "$POINTS_PER_TEST OK" pend "OK" ) done