#!/bin/bash
# The Evaluator -- Public Submit Script
-# (c) 2001--2004 Martin Mares <mj@ucw.cz>
+# (c) 2001--2007 Martin Mares <mj@ucw.cz>
set -e
[ -n "$MO_ROOT" -a -d "$MO_ROOT" ] || { echo >&2 "MO_ROOT not set, giving up." ; exit 1 ; }
function usage
{
- die "Usage: check [--force] [-s <source-file>] <problem> [<test-number>]"
+ die "Usage: submit [--force] [-s <source-file>] <problem> [<test-number>]"
}
FORCE=0
[ -n "$PART" ] || die "You need to specify test number for open data problems."
TEST=$PART
pstart "Test case $TEST: "
- open-locate $SRCFILE
+ open-locate "$SRCFILE"
(
- ln $SRCN $TDIR/$TEST.out
+ [ -f $PDIR/$TEST.config ] && . $PDIR/$TEST.config
+ try-ln "$SDIR/$SRCN" $TDIR/$TEST.out
syntax-check
- test-result 1 OK
+ test-result $POINTS_PER_TEST OK
) || FAILED=1
else
[ -z "$PART" ] || die "Test number should be given only for open data problems."
- locate-source $SRCFILE
+ locate-source "$SRCFILE"
compile
for TEST in $SAMPLE_TESTS ; do
(
pstart "Checking on sample input $TEST: "
+ [ -f $PDIR/$TEST.config ] && . $PDIR/$TEST.config
test-run
syntax-check
output-check
if [ $FAILED != 0 ] ; then
if [ $FORCE != 0 ] ; then
+ echo "Submit forced."
pend "TESTS FAILED, but --force given, so submitting anyway."
else
pend "TESTS FAILED. Nothing has been submitted!"
if [ -n "$REMOTE_SUBMIT" ] ; then
pstart "Submitting to the server... "
- $MO_ROOT/bin/remote-submit $PROBLEM $PART $SDIR/$SRCN
+ $MO_ROOT/bin/remote-submit $PROBLEM $PART "$SDIR/$SRCN"
pend "OK"
exit 0
fi
mkdir -p ~/.submit
if [ $TASK_TYPE == open-data ] ; then
mkdir -p ~/.submit/$PROBLEM
- cp $SRCN ~/.submit/$PROBLEM/$PART.out
+ cp "$SDIR/$SRCN" ~/.submit/$PROBLEM/$PART.out
else
rm -rf ~/.submit/$PROBLEM
mkdir -p ~/.submit/$PROBLEM
- cp $SRCN ~/.submit/$PROBLEM/
+ cp "$SDIR/$SRCN" ~/.submit/$PROBLEM/
fi
pend "OK"