X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=config;h=806bdd9560fc2eec2635aa124bd892ae78a40116;hb=99653cd8d766cabaed2b1f2628e0b041fc0837c8;hp=8115ea50e65c3aa1487c3f097defdedcce6c2013;hpb=762cd19388d4958967e087226acd8875ab997c68;p=moe.git diff --git a/config b/config index 8115ea5..806bdd9 100644 --- a/config +++ b/config @@ -1,24 +1,159 @@ -# Configuration file for MO Evaluator -# (c) 2001 Martin Mares +# Configuration file for the MO Evaluator +# (c) 2001--2008 Martin Mares -# Directories and users -MO_ROOT=/aux/mo +# The root of the whole directory hierarchy +MO_ROOT=/mo + +# User and group used by the evaluator itself EVAL_USER=mo-eval EVAL_GROUP=mo-eval + +# Test user for the sandbox. You can let mo-setup create more test users +# and then run several evaluators in parallel, each in its own sandbox. +# For testing, you can also leave TEST_USER undefined and run the sandbox +# with EVAL_USER privileges, but beware, this is INSECURE. +#TEST_USER=${TEST_USER:-mo-test1} TEST_USERS="mo-test1 mo-test2" +TEST_GROUP=mo-test + +# These values are used when creating logins for eval and contestants +# (group id's are from the same range) +EVAL_UID_MIN=65000 +CT_UID_MIN=65100 +CT_UID_MAX=65199 + +# Sometimes we need to get a list of all contestants (not in the evaluator +# itself, but in various auxiliary scripts). In such cases we call mo-get-users, +# which either uses an explicit list of contestants CT_USER_LIST (usernamefullname), +# or (if undefined) scans /etc/passwd for users with UID between CT_UID_MIN and CT_UID_MAX. +CT_USER_LIST=userlist + +# (optional) Use remote submitting +REMOTE_SUBMIT=1 +REMOTE_SUBMIT_USER=mo-submit +REMOTE_SUBMIT_GROUP=mo-submit + +### Per-task configuration variables (default values, override in per-task config) + +## Compiler settings: + +# Known source file extensions +EXTENSIONS="c cc C cpp p pas" + +# Extra compiler flags for C (null, but can be overriden) +EXTRA_CFLAGS= + +# Extra compiler flags for Pascal +EXTRA_PFLAGS= + +# For each source extension, we must give compiler command +COMP=false +EXT_c_COMP='/usr/bin/gcc -std=gnu99 -O2 -g -o $EXE $EXTRA_CFLAGS $SRC -lm' +EXT_C_COMP='/usr/bin/g++ -O2 -g -o $EXE $EXTRA_CFLAGS $SRC -lm' +EXT_cpp_COMP="$EXT_C_COMP" +EXT_cc_COMP="$EXT_C_COMP" +EXT_p_COMP='/usr/bin/fpc -Ci -Cr -Ct -g -O2 -Sg -o$EXE $EXTRA_PFLAGS $SRC' +EXT_pas_COMP="$EXT_p_COMP" + +# Sandbox options used when compiling +COMP_SANDBOX_OPTS='-m262144 -w60 -e -i/dev/null' + +# Sandbox initialization commands for compilation +COMP_SANDBOX_INIT= + +# List of extra files needed for compilation. They are copied to the compiler +# sandbox from the problem's directory. +#COMP_EXTRAS="extras.h" + +## Tester settings (most can be overriden in per-test config): + +# The following variables are automatically set by the evaluator: +# PROBLEM name of the problem +# HDIR home directory of the evaluator (i.e., this file is $HDIR/config) +# PDIR directory containing problem data +# SDIR directory containing contestant's solution +# TDIR directory containing testing results +# TMPDIR directory containing temporary files +# TEST name of the current test + +# Task type: +# offline off-line task +# interactive interactive task communicating via stdio with a testing program +# open-data open-data task (i.e., we don't submit program, but output files) +TASK_TYPE=file + +# I/O type (IO_TYPE sets defaults for IN_TYPE and OUT_TYPE) +# file input from $PROBLEM.in, output to $PROBLEM.out (possible even for interactive tasks) +# stdio input from stdin, output to stdout +# none no input/output +IO_TYPE=stdio +#IN_TYPE=stdio +#OUT_TYPE=stdio + +# A list of all tests +TESTS="1 2 3 4 5 6 7 8 9 10" + +# A list of public tests (executed by submit and check scripts) +SAMPLE_TESTS="0" + +# Number of points per test +POINTS_PER_TEST=1 + +# Time limit in seconds (can be fractional, but beware of noise) +TIME_LIMIT=10 + +# Memory limit in kilobytes +MEM_LIMIT=16384 + +# Command used for filtering of program output (optional) +# If turned on, program output (*.raw) is ran through this filter and the +# checkers are applied to the output of the filter (*.out). +# Can exit with code 1 if there is a syntax error in the output. +#OUTPUT_FILTER='tr -d '\''\r'\'' <$TDIR/$TEST.raw >$TDIR/$TEST.out' + +# Command used to check output syntax (optional) +# Returns exit code 1 if syntax is wrong, 0 if correct +# fd1 is connect to evaluator log, feel free to log anything +# fd2 is an optional one-line verdict +#SYNTAX_CHECK='grep -v -- - $TDIR/$TEST.out' + +# Command used to check output correctness +# Returns exit code 1 if output is incorrect, 0 if correct +# fd1 is connect to evaluator log, feel free to log anything +# fd2 is an optional one-line verdict +# The checker can generate $TDIR/$TEST.pts to assign points irregularly +OUTPUT_CHECK='diff -bBu $TDIR/$TEST.ok $TDIR/$TEST.out' + +# Checker for interactive tasks +# Returns exit code 1 if test failed, 0 if passed +# fd0 and fd1 are connected to fd1 and fd0 of the program tested +# fd2 is an optional one-line verdict +# The checker can generate $TDIR/$TEST.pts to assign points irregularly +#IC_CHECK='$PDIR/checker $PDIR/$TEST.in $PDIR/$TEST.chk' + +# Sandbox options used when testing +TEST_SANDBOX_OPTS='-a2 -f -m$MEM_LIMIT -t$TIME_LIMIT' + +# Sandbox initialization commands +SANDBOX_INIT= + +# Translate FreePascal exit codes to names of well-known runtime errors +FREE_PASCAL_RTE=1 + +# DEBUG: Let `ev' run sample tests, too. +#EV_SAMPLE=1 + +# DEBUG: Run `pedant' on all input data. Set either to `1' or to pedant's options. +#EV_PEDANT=1 + +# DEBUG: Skip checks (useful when generating output files by running model solution) +#EV_NOCHECK=1 + +# DEBUG: Skip output filters (if you suspect they are buggy) +#EV_NOFILTER=1 + +### Variables overrides (most variables can be overridden for specific tests or source extensions): -# Currently used test user -TEST_USER=mo-eval - -# Compilation commands -EXTENSIONS="c C cpp p pas" -COMP_c='/usr/bin/gcc -o $EXE $SRC' -COMP_C='/usr/bin/g++ -o $EXE $SRC' -COMP_cpp="$COMP_C" -COMP_p='/usr/bin/fpc -o $EXE $SRC' -COMP_pas="$COMP_p" -COMP_SANDBOX_OPTS='-m65536 -t60 -w -e' - -# Testing commands -TEST_RUN_METHOD="test-run-with-files" -TEST_SANDBOX_OPTS='-a2 -f -m$MEM_LIMIT -t$TIME_LIMIT -w' +#EXT_pas_TIME_LIMIT=100 +#TEST_1_TIME_LIMIT=100 +#EXT_pas_TEST_1_TIME_LIMIT=100