1 # HOME set automatically
2 # CONTESTANT set automatically
3 # TASK set automatically
5 PDIR="${HOME}/problems/${TASK}"
6 SDIR="${HOME}/solutions/${CONTESTANT}/${TASK}"
7 TDIR="${HOME}/testing/${CONTESTANT}/${TASK}"
10 TESTCASE_OUT=${TEST}.out
11 TESTCASE_OK=${TEST}.ok
12 TESTCASE_STATUS=${TEST}.stat
13 TESTCASE_RAW=${TEST}.raw
14 # backward compatibility
15 TESTCASE_PTS=${TEST}.pts
20 ### Programming language settings
22 # Known source file extensions
23 EXTENSIONS="c cc C cpp p pas"
25 # Some of the extensions can be aliases for other extensions
32 ## Variables which control compilation and execution
33 ## (see below for values for individual languages)
35 # Command used to run the compiler
38 # Sandbox options used when compiling
39 COMP_SANDBOX_OPTS="-m262144 -w60 -e -i/dev/null"
43 # Command used to execute the compiled program, may be ./$PROGRAM (default) or an
44 # interpreter with $PROGRAM as a parameter.
47 ## Settings for individual languages
50 EXT_c_COMP="/usr/bin/gcc -std=gnu99 -O2 -g -o $EXE $EXTRA_CFLAGS $SRC -lm"
54 EXT_cpp_COMP="/usr/bin/g++ -O2 -g -o $EXE $EXTRA_CXXFLAGS $SRC -lm"
58 EXT_pas_COMP="/usr/bin/fpc -Ci -g -O2 -Sg -o$EXE $EXTRA_PFLAGS $SRC"
61 ### Per-task configuration variables (default values, override in per-task config)
63 # List of extra files needed for compilation. They are copied to the compiler
64 # sandbox from the problem's directory. XXX: or tdir
65 #COMP_EXTRAS="extras.h"
69 # interactive interactive task communicating via stdio with a testing program
70 # open-data open-data task (i.e., we don't submit program, but output files)
73 # I/O type (IO_TYPE sets defaults for IN_TYPE and OUT_TYPE)
74 # file input from $PROBLEM.in, output to $PROBLEM.out (possible even for interactive tasks)
75 # stdio input from stdin, output to stdout
76 # dir input from all files in the directory $TEST.in; these are copied to $BOXDIR
77 # and if they include .stdin, it will be available as program's std. input.
78 # none no input/output
87 TESTS="1 2 3 4 5 6 7 8 9 10"
89 # A list of public tests (executed by submit and check scripts)
92 # Number of points per test
95 # Time limit in seconds (can be fractional, but beware of noise)
98 # Memory limit in kilobytes
101 # Stack size limit in kilobytes (0=limited only by MEM_LIMIT)
104 # Command used for filtering of program output (optional)
105 # If turned on, program output (*.raw) is ran through this filter and the
106 # checkers are applied to the output of the filter (*.out).
107 # Can exit with code 1 if there is a syntax error in the output.
108 #OUTPUT_FILTER=tr -d '\r' <$TDIR/$TEST.raw >$TDIR/$TEST.out
110 # Command used to check output syntax (optional)
111 # Returns exit code 1 if syntax is wrong, 0 if correct
112 # fd1 is connect to evaluator log, feel free to log anything
113 # fd2 is an optional one-line verdict
114 #SYNTAX_CHECK=grep -v -- - $TDIR/$TEST.out
116 # Command used to check output correctness
117 # Returns exit code 1 if output is incorrect, 0 if correct
118 # fd1 is connect to evaluator log, feel free to log anything
119 # fd2 is an optional one-line verdict
120 # The checker can generate $TDIR/$TEST.pts to assign points irregularly
121 OUTPUT_CHECK=diff -bBu $TDIR/$TEST.ok $TDIR/$TEST.out
123 # Checker for interactive tasks
124 # Returns exit code 1 if test failed, 0 if passed
125 # fd0 and fd1 are connected to fd1 and fd0 of the program tested
126 # fd2 is an optional one-line verdict
127 # The checker can generate $TDIR/$TEST.pts to assign points irregularly
128 #IC_CHECK=$PDIR/checker $PDIR/$TEST.in $PDIR/$TEST.chk
130 # Sandbox options used when testing
131 TEST_SANDBOX_OPTS=-a2 -f -m$MEM_LIMIT -k$STACK_LIMIT -t$TIME_LIMIT $BOX_EXTRAS $BOX_IO_OPTS
133 # Extra options to be overridden in task configuration
138 # Task pipeline for batch and interactive tasks:
145 # 000 setup copy input and correct output to $TDIR
146 # 100 prepare copy input and executables to the sandbox
147 # 200 run run inside the sandbox
148 # 300 collect copy output out of the sandbox
149 # 400 filter filter the output ($OUTPUT_FILTER)
150 # 500 syntax check syntax of the output ($SYNTAX_CHECK)
151 # 600 judge check correctness of the output ($OUTPUT_CHECK)
152 # 700 points award $POINTS_PER_TEST points unless already done