7 ======= ========================
9 ======= ========================
10 \ Apply command-line overrides, set basic builtins (`CONFIG_FILE`, `VERBOSITY`, ...)
13 \ FIX: `LOG_FILE`, `VERBOSITY`, `HOME`, `TDIR`, `BOXDIR`, `HOOKS`, `TEST_HOOKS`, ...
14 \ Start logging to `LOG_FILE`
15 \ Insert predefined hooks, `HOOKS` and `TEST_HOOKS` to pipelines
16 5 [m] Check basic settings, directories and rights
17 10 [m] Task **must** be ready (rsynced, pulled). Locate and fix `PDIR`
18 15 [m] Load `TASK_CONFIG_FILE` (dep. on `PDIR`)
19 20 [m] Check `TASK_TYPE` and depending on that, initialize the module and insert future actions
21 --------------------------------
22 25 [tt] Locate the source
23 30 [tt] Initialize sandbox module
24 35 [tt] Initialize compiler module, insert its hooks
25 50 [cpl] Compile the source, perhaps using the sandbox
26 60 [tt] Run test pipeline for each `TEST` of `TESTS`
28 --------------------------------
29 25 [tt] Locate the data files (as a dir)
30 30 [tt] Initialize sandbox module (if needed)
31 40 [tt] Initialize judge module, insert its hooks
32 60 [tt] Run test pipeline for each `TEST` of `TESTS`
34 --------------------------------
35 70 Any failure jumps to this time
36 80 [*] Cleanup must be finished
38 ======= ========================
43 ======= ========================
45 ======= ========================
46 \ Tee logging to test log file
48 --------------------------------
49 10 [tt] Copy test data to `TDIR` and to `BOXDIR`
50 30 [tt] Run testee (inside sandbox)
51 40 [tt] Run judge (inside sandbox)
52 50 [tt] Read/parse judge result
53 60 [tt] Copy program output to `TDIR`
55 --------------------------------
56 10 [tt] Copy test data to `TDIR` and to `BOXDIR`
57 20 [tt] Locate the data file, copy to
58 40 [tt] Run judge (inside sandbox)
59 50 [tt] Read/parse judge result
61 --------------------------------
62 70 Any failure jumps to this time
63 80 [*] Cleanup must be finished
65 ======= ========================