]> mj.ucw.cz Git - moe.git/blob - public/submit
...
[moe.git] / public / submit
1 # The Evaluator -- Public Submit Script
2 # (c) 2001 Martin Mares <mj@ucw.cz>
3
4 set -e
5 [ -n "$MO_PUBLIC" -a -d "$MO_PUBLIC" ] || { echo >&2 "MO_PUBLIC not set, giving up." ; exit 1 ; }
6 . $MO_PUBLIC/bin/lib
7 . $MO_PUBLIC/config
8
9 FORCE=0
10 if [ "$1" = --force ] ; then
11         FORCE=1
12         shift
13 fi
14 [ -n "$1" -o "$1" = "--help" ] || die "Usage: submit [--force] <problem>"
15 PROBLEM=$1
16 public-setup
17 . $PDIR/config
18 locate-source
19 compile
20 PTSFILE=$TDIR/points
21 FAILED=0
22 for TEST in $SAMPLE_TESTS ; do
23         pstart "Checking on sample input $TEST: "
24         if test-run && syntax-check ; then
25                 pend "OK"
26         else
27                 FAILED=$(($FAILED+1))
28         fi
29 done
30 pstart "Submiting... "
31 if [ $FAILED != 0 ] ; then
32         if [ $FORCE != 0 ] ; then
33                 pcont "(tests failed, but --force given) "
34         else
35                 pend "TESTS FAILED  Use submit --force if you really want to submit a wrong solution."
36                 exit 1
37         fi
38 fi
39 mkdir -p ~/.submit
40 rm -rf ~/.submit/$PROBLEM
41 mkdir ~/.submit/$PROBLEM
42 cp $SRCN ~/.submit/$PROBLEM/
43 pend "OK"