#!/bin/bash # The Evaluator -- Public Checking Script # (c) 2001--2007 Martin Mares set -e [ -n "$MO_ROOT" -a -d "$MO_ROOT" ] || { echo >&2 "MO_ROOT not set, giving up." ; exit 1 ; } . $MO_ROOT/bin/lib . $MO_ROOT/config function usage { die "Usage: check [-s ] []" } SRCFILE= while getopts "s:" opt ; do case $opt in s) SRCFILE="$OPTARG" ;; *) usage ;; esac done shift $(($OPTIND-1)) [ -n "$1" ] || usage PROBLEM=$1 TEST= shift if [ -n "$1" ] ; then TEST="$1" shift fi [ -z "$1" ] || usage public-setup HDIR=/mo/cpspc/day1/ PDIR=$HDIR/problems/$PROBLEM . $PDIR/config function test-verdict { pend "$2" if [ $1 == 0 ] ; then exit 1 else exit 0 fi } if [ $TASK_TYPE == open-data ] ; then [ -n "$TEST" ] || die "You need to specify test number for open data problems." pstart "Checking $TEST: " open-locate $SRCFILE ln $SRCN $TDIR/$TEST.out syntax-check test-result 1 OK else [ -z "$TEST" ] || die "Test number should be given only for open data problems." locate-source $SRCFILE compile RC=0 for TEST in $TESTS ; do ( pstart "Checking on sample input $TEST: " test-run syntax-check output-check ) || RC=1 done exit $RC fi