X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=public%2Fsubmit;h=dfdbb13d9d76ea5b914cc013fb99415a6fa0f8f9;hb=e77ea4457d5f59df94edf1af42328c16dc4ec087;hp=15dd21742e9428c932c3cf0862d4fb088d9985c8;hpb=c119e07ea8001ba944e6d9c33e4e73f98fe750ee;p=eval.git diff --git a/public/submit b/public/submit index 15dd217..dfdbb13 100644 --- a/public/submit +++ b/public/submit @@ -6,20 +6,38 @@ set -e . $MO_PUBLIC/bin/lib . $MO_PUBLIC/config -[ -n "$1" ] || die "Usage: submit " +FORCE=0 +if [ "$1" = --force ] ; then + FORCE=1 + shift +fi +[ -n "$1" -o "$1" = "--help" ] || die "Usage: submit [--force] " PROBLEM=$1 public-setup . $PDIR/config locate-source compile -TEST=$SAMPLE_TEST PTSFILE=$TDIR/points -pstart "Checking on sample input: " -test-run -syntax-check -pend "OK" -pstart "Submiting: " -mkdir -p ~/.submit/$PROBLEM -rm -rf ~/.submit/$PROBLEM/* +FAILED=0 +for TEST in $SAMPLE_TESTS ; do + pstart "Checking on sample input $TEST: " + if test-run && syntax-check ; then + pend "OK" + else + FAILED=$(($FAILED+1)) + fi +done +pstart "Submiting... " +if [ $FAILED != 0 ] ; then + if [ $FORCE != 0 ] ; then + pcont "(tests failed, but --force given) " + else + pend "TESTS FAILED Use submit --force if you really want to submit a wrong solution." + exit 1 + fi +fi +mkdir -p ~/.submit +rm -rf ~/.submit/$PROBLEM +mkdir ~/.submit/$PROBLEM cp $SRCN ~/.submit/$PROBLEM/ pend "OK"