1 # Configuration file for the MO Evaluator
2 # (c) 2001--2004 Martin Mares <mj@ucw.cz>
4 # The root of the whole directory hierarchy
7 # User and group used by the evaluator itself
11 # Test user for the sandbox. You can let mo-setup create more test users
12 # and then run several evaluators in parallel, each in its own sandbox.
13 # For testing, you can also leave TEST_USER undefined and run the sandbox
14 # with EVAL_USER privileges, but beware, this is INSECURE.
15 #TEST_USER=${TEST_USER:-mo-test1}
16 TEST_USERS="mo-test1 mo-test2"
18 # These values are used when creating logins for eval and contestanst.
23 # Sometimes we need to get a list of all contestants (not in the evaluator
24 # itself, but in various auxiliary scripts). In such cases we call mo-get-users,
25 # which either uses an explicit list of contestants CT_USER_LIST (username<tab>fullname),
26 # or (if undefined) scans /etc/passwd for users with UID between CT_UID_MIN and CT_UID_MAX.
29 ### Per-task configuration variables (default values, override in per-task config)
33 # Known source file extensions
34 EXTENSIONS="c C cpp p pas"
36 # Extra compiler flags for C (null, but can be overriden)
39 # Extra compiler flags for Pascal
42 # For each source extension, we must give compiler command
43 COMP_c='/usr/bin/gcc -O2 -g -o $EXE $EXTRA_CFLAGS $SRC'
44 COMP_C='/usr/bin/g++ -O2 -g -o $EXE $EXTRA_CFLAGS $SRC'
46 COMP_p='/usr/bin/fpc -Ci -Cr -g -O2 -So -Sg -o$EXE $EXTRA_PFLAGS $SRC'
49 # Sandbox options used when compiling
50 COMP_SANDBOX_OPTS='-m65536 -t60 -w -e -i/dev/null'
52 # Sandbox initializaton commands for compilation
55 # List of extra files needed for compilation. They are copied to the compiler
56 # sandbox from the problem's directory.
57 #COMP_EXTRAS="extras.h"
59 ## Tester settings (most can be overriden in per-test config):
61 # The following variables are automatically set by the evaluator:
62 # PROBLEM name of the problem
63 # HDIR home directory of the evaluator (i.e., this file is $HDIR/config)
64 # PDIR directory containing problem data
65 # SDIR directory containing contestant's solution
66 # TDIR directory containing testing results
67 # TMPDIR directory containing temporary files
68 # TEST name of the current test
71 # offline off-line task
72 # interactive interactive task communicating via stdio with a testing program
73 # open-data open-data task (i.e., we don't submit program, but output files)
76 # I/O type (IO_TYPE sets defaults for IN_TYPE and OUT_TYPE)
77 # file input from $PROBLEM.in, output to $PROBLEM.out (possible even for interactive tasks)
78 # stdio input from stdin, output to stdout
79 # none no input/output
85 TESTS="1 2 3 4 5 6 7 8 9 10"
87 # A list of public tests (executed by submit and check scripts)
90 # Number of points per test
93 # Time limit in seconds
96 # Memory limit in kilobytes
99 # Command used to check output syntax (optional)
100 # Returns exit code 1 if syntax is wrong, 0 if correct
101 # fd1 is connect to evaluator log, feel free to log anything
102 # fd2 is an optional one-line verdict
103 #SYNTAX_CHECK='grep -v -- - $TDIR/$TEST.out'
105 # Command used to check output correctness
106 # Returns exit code 1 if output is incorrect, 0 if correct
107 # fd1 is connect to evaluator log, feel free to log anything
108 # fd2 is an optional one-line verdict
109 # The checker can generate $TDIR/$TEST.pts to assign points irregularly
110 OUTPUT_CHECK='diff -bBu $TDIR/$TEST.ok $TDIR/$TEST.out'
112 # Checker for interactive tasks
113 # Returns exit code 1 if test failed, 0 if passed
114 # fd1 is connect to evaluator log, feel free to log anything
115 # fd2 is an optional one-line verdict
116 # The checker can generate $TDIR/$TEST.pts to assign points irregularly
117 #IC_CHECK='$PDIR/checker $PDIR/$TEST.in $PDIR/$TEST.chk'
119 # Sandbox options used when testing
120 TEST_SANDBOX_OPTS='-a2 -f -m$MEM_LIMIT -t$TIME_LIMIT'
121 # -w for wall clock measuring
123 # Sandbox initialization commands