7 `Eval.init` is run before the main pipeline, does the following:
12 \ Set builtins `HOME`, `CONFIG`, `LOG`, `DEBUG_LEVEL`, `VERBOSE`, also (temp?) `TDIR`, `USER_LOG`
13 \ Apply command-line overrides
14 \ Fix `CONFIG` and load the config file `CONFIG`
15 \ Fix `LOG`, `USER_LOG`, `VERBOSE`, `HOME`, `DEBUG_LEVEL`, `TDIR`
16 \ Start logging system (to `LOG` and `USER_LOG`)
17 \ Check basic settings, directories and rights (currently checking only `TDIR`)
18 \ Insert predefined hooks ([m]) and `HOOKS` to main pipeline
29 10 [m] Task **must** be ready (rsynced, pulled). Locate and fix `PDIR`
30 15 [m] Load `TASK_CONFIG_FILE` (dep. on `PDIR`)
31 20 [m] Check `TASK_TYPE` and depending on that, initialize the module and insert future actions
34 25 [tt] Locate the source
35 30 [tt] Initialize sandbox module
36 35 [tt] Initialize compiler module, insert its hooks
37 50 [cpl] Compile the source, perhaps using the sandbox
38 60 [tt] Run test pipeline for each `TEST` of `TESTS`
41 25 [tt] Locate the data files (as a dir)
42 30 [tt] Initialize sandbox module (if needed)
43 40 [tt] Initialize judge module, insert its hooks
44 60 [tt] Run test pipeline for each `TEST` of `TESTS`
47 70 Any failure jumps to this time
48 80 [*] Cleanup must be finished
55 ======= ========================
57 ======= ========================
58 \ Tee logging to test log file
60 --------------------------------
61 10 [tt] Copy test data to `TDIR` and to `BOXDIR`
62 30 [tt] Run testee (inside sandbox)
63 40 [tt] Run judge (inside sandbox)
64 50 [tt] Read/parse judge result
65 60 [tt] Copy program output to `TDIR`
67 --------------------------------
68 10 [tt] Copy test data to `TDIR` and to `BOXDIR`
69 20 [tt] Locate the data file, copy to
70 40 [tt] Run judge (inside sandbox)
71 50 [tt] Read/parse judge result
73 --------------------------------
74 70 Any failure jumps to this time
75 80 [*] Cleanup must be finished
77 ======= ========================