]> mj.ucw.cz Git - moe.git/blob - config
246511efd848e024ca2adfa8a148631bd8931743
[moe.git] / config
1 # Configuration file for the MO Evaluator
2 # (c) 2001--2008 Martin Mares <mj@ucw.cz>
3
4 # The root of the whole directory hierarchy
5 MO_ROOT=/mo
6
7 # User and group used by the evaluator itself
8 EVAL_USER=mo-eval
9 EVAL_GROUP=mo-eval
10
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"
17 TEST_GROUP=mo-test
18
19 # These values are used when creating logins for eval and contestants
20 # (group id's are from the same range)
21 EVAL_UID_MIN=65000
22 CT_UID_MIN=65100
23 CT_UID_MAX=65199
24
25 # Sometimes we need to get a list of all contestants (not in the evaluator
26 # itself, but in various auxiliary scripts). In such cases we call mo-get-users,
27 # which either uses an explicit list of contestants CT_USER_LIST (username<tab>fullname),
28 # or (if undefined) scans /etc/passwd for users with UID between CT_UID_MIN and CT_UID_MAX.
29 CT_USER_LIST=userlist
30
31 # (optional) Use remote submitting
32 REMOTE_SUBMIT=1
33 REMOTE_SUBMIT_USER=mo-submit
34 REMOTE_SUBMIT_GROUP=mo-submit
35
36 ### Per-task configuration variables (default values, override in per-task config)
37
38 ## Compiler settings:
39
40 # Known source file extensions
41 EXTENSIONS="c cc C cpp p pas"
42
43 # Extra compiler flags for C (null, but can be overriden)
44 EXTRA_CFLAGS=
45
46 # Extra compiler flags for Pascal
47 EXTRA_PFLAGS=
48
49 # For each source extension, we must give compiler command
50 COMP=false
51 EXT_c_COMP='/usr/bin/gcc -std=gnu99 -O2 -g -o $EXE $EXTRA_CFLAGS $SRC -lm'
52 EXT_C_COMP='/usr/bin/g++ -O2 -g -o $EXE $EXTRA_CFLAGS $SRC -lm'
53 EXT_cpp_COMP="$EXT_C_COMP"
54 EXT_cc_COMP="$EXT_C_COMP"
55 EXT_p_COMP='/usr/bin/fpc -Ci -Cr -Ct -g -O2 -Sg -o$EXE $EXTRA_PFLAGS $SRC'
56 EXT_pas_COMP="$EXT_p_COMP"
57
58 # Sandbox options used when compiling
59 COMP_SANDBOX_OPTS='-m262144 -w60 -e -i/dev/null'
60
61 # Sandbox initialization commands for compilation
62 COMP_SANDBOX_INIT=
63
64 # List of extra files needed for compilation. They are copied to the compiler
65 # sandbox from the problem's directory.
66 #COMP_EXTRAS="extras.h"
67
68 ## Tester settings (most can be overriden in per-test config):
69
70 # The following variables are automatically set by the evaluator:
71 # PROBLEM       name of the problem
72 # HDIR          home directory of the evaluator (i.e., this file is $HDIR/config)
73 # PDIR          directory containing problem data
74 # SDIR          directory containing contestant's solution
75 # TDIR          directory containing testing results
76 # TMPDIR        directory containing temporary files
77 # TEST          name of the current test
78
79 # Task type:
80 # offline       off-line task
81 # interactive   interactive task communicating via stdio with a testing program
82 # open-data     open-data task (i.e., we don't submit program, but output files)
83 TASK_TYPE=file
84
85 # I/O type (IO_TYPE sets defaults for IN_TYPE and OUT_TYPE)
86 # file          input from $PROBLEM.in, output to $PROBLEM.out (possible even for interactive tasks)
87 # stdio         input from stdin, output to stdout
88 # none          no input/output
89 IO_TYPE=stdio
90 #IN_TYPE=stdio
91 #OUT_TYPE=stdio
92
93 # A list of all tests
94 TESTS="1 2 3 4 5 6 7 8 9 10"
95
96 # A list of public tests (executed by submit and check scripts)
97 SAMPLE_TESTS="0"
98
99 # Number of points per test
100 POINTS_PER_TEST=1
101
102 # Time limit in seconds (can be fractional, but beware of noise)
103 TIME_LIMIT=10
104
105 # Memory limit in kilobytes
106 MEM_LIMIT=16384
107
108 # Command used for filtering of program output (optional)
109 # If turned on, program output (*.raw) is ran through this filter and the
110 # checkers are applied to the output of the filter (*.out).
111 # Can exit with code 1 if there is a syntax error in the output.
112 #OUTPUT_FILTER='tr -d '\''\r'\'' <$TDIR/$TEST.raw >$TDIR/$TEST.out'
113
114 # Command used to check output syntax (optional)
115 # Returns exit code 1 if syntax is wrong, 0 if correct
116 # fd1 is connect to evaluator log, feel free to log anything
117 # fd2 is an optional one-line verdict
118 #SYNTAX_CHECK='grep -v -- - $TDIR/$TEST.out'
119
120 # Command used to check output correctness
121 # Returns exit code 1 if output is incorrect, 0 if correct
122 # fd1 is connect to evaluator log, feel free to log anything
123 # fd2 is an optional one-line verdict
124 # The checker can generate $TDIR/$TEST.pts to assign points irregularly
125 OUTPUT_CHECK='diff -bBu $TDIR/$TEST.ok $TDIR/$TEST.out'
126
127 # Checker for interactive tasks
128 # Returns exit code 1 if test failed, 0 if passed
129 # fd0 and fd1 are connected to fd1 and fd0 of the program tested
130 # fd2 is an optional one-line verdict
131 # The checker can generate $TDIR/$TEST.pts to assign points irregularly
132 #IC_CHECK='$PDIR/checker $PDIR/$TEST.in $PDIR/$TEST.chk'
133
134 # Sandbox options used when testing
135 TEST_SANDBOX_OPTS='-a2 -f -m$MEM_LIMIT -t$TIME_LIMIT $BOX_EXTRAS'
136
137 # Sandbox initialization commands
138 SANDBOX_INIT=
139
140 # Translate FreePascal exit codes to names of well-known runtime errors
141 FREE_PASCAL_RTE=1
142
143 # DEBUG: Let `ev' run sample tests, too.
144 #EV_SAMPLE=1
145
146 # DEBUG: Run `pedant' on all input data. Set either to `1' or to pedant's options.
147 #EV_PEDANT=1
148
149 # DEBUG: Skip checks (useful when generating output files by running model solution)
150 #EV_NOCHECK=1
151
152 # DEBUG: Skip output filters (if you suspect they are buggy)
153 #EV_NOFILTER=1
154
155 ### Variables overrides (most variables can be overridden for specific tests or source extensions):
156
157 #EXT_pas_TIME_LIMIT=100
158 #TEST_1_TIME_LIMIT=100
159 #EXT_pas_TEST_1_TIME_LIMIT=100