]> mj.ucw.cz Git - eval.git/blobdiff - bin/lib
`ev' is now able to process open-data problems.
[eval.git] / bin / lib
diff --git a/bin/lib b/bin/lib
index ea516f17ede8cf3c42a6d6be7361d1eb2cf50e2f..a186e1cd256e5c0c41c46967ebdf9690f3d18099 100644 (file)
--- a/bin/lib
+++ b/bin/lib
@@ -241,6 +241,10 @@ function test-prolog
                *)      die "Unknown IN_TYPE $IN_TYPE"
                        ;;
        esac
+       if [ -n "$EV_PEDANT" -a $IN_TYPE != none ] ; then
+               pcont "<pedant> "
+               bin/pedant <$TDIR/$TEST.in | tr '\n' ' ' >&2
+       fi
        case $OUT_TYPE in
                file)   echo "Output file: $PROBLEM.out"
                        [ $TASK_TYPE == interactive ] || BOX_EXTRAS="$BOX_EXTRAS -o/dev/null"
@@ -310,11 +314,20 @@ function test-run-interactive
        test-epilog
 }
 
+# "Running" of open-data problems
+
+function test-run-open-data
+{
+       [ -f $SDIR/$TEST.out ] || test-result 0 "No solution."
+       ln $SDIR/$TEST.out $TDIR/$TEST.out
+}
+
 # Syntax checks
 
 function syntax-check
 {
        [ -n "$SYNTAX_CHECK" ] || return 0
+       [ -z "$EV_NOCHECK" ] || return 0
        pcont "<syntax> "
        SCHECK=`eval echo $SYNTAX_CHECK`
        echo "Syntax check command: $SCHECK"
@@ -332,7 +345,7 @@ function syntax-check
 function output-check
 {
        MSG=
-       if [ -n "$OUTPUT_CHECK" -a "$OUT_TYPE" != none ] ; then
+       if [ -n "$OUTPUT_CHECK" -a "$OUT_TYPE" != none -a -z "$EV_NOCHECK" ] ; then
                pcont "<check> "
                [ -f $PDIR/$TEST.out ] && ln $PDIR/$TEST.out $TDIR/$TEST.ok
                OCHECK=`eval echo $OUTPUT_CHECK`
@@ -384,5 +397,5 @@ function open-locate
        else
                SRCN=$SDIR/$PROBLEM$TEST.out
        fi
-       [ -f $SRCN ] || fatal "Output file $SRCN not found"
+       [ -f "$SDIR/$SRCN" ] || fatal "Output file $SRCN not found"
 }