]> mj.ucw.cz Git - eval.git/blob - t/doc/timeline.rst
Played with the documentation
[eval.git] / t / doc / timeline.rst
1 .. _timeline:
2
3 Evaluation timeline
4 ====================
5
6 `Eval.init`
7 ------------
8
9 :func:`Eval.init <moe.eval.Eval.init>` is run before the main pipeline and does the following:
10
11 ======= ==========
12 Time    Action
13 ======= ==========
14 \       Set builtins `HOME`, `CONFIG`, `LOG`, `DEBUG_LEVEL`, `VERBOSE`, also (temp?) `TDIR`, `USER_LOG`
15 \       Apply command-line overrides
16 \       Fix `CONFIG` and load the config file `CONFIG`
17 \       Fix `LOG`, `USER_LOG`, `VERBOSE`, `HOME`, `DEBUG_LEVEL`, `TDIR`
18 \       Start logging system (to `LOG` and `USER_LOG`)
19 \       Check basic settings, directories and rights (currently checking only `TDIR`)
20 \       Insert predefined hooks ([m]) and `HOOKS` to main pipeline
21 ======= ==========
22
23 Main pipeline
24 -------------
25
26 Ran by `Eval.run`.
27
28 ======= ==========
29 Time    Action
30 ======= ==========
31 10      [m] Task **must** be ready (rsynced, pulled). Locate and fix `PDIR`
32 15      [m] Load `TASK_CONFIG_FILE` (dep. on `PDIR`)
33 20      [m] Check `TASK_TYPE` and depending on that, initialize the module and insert future actions
34 **For 'standard':**
35 ------------------
36 25      [tt] Locate the source
37 30      [tt] Initialize sandbox module
38 35      [tt] Initialize compiler module, insert its hooks 
39 50      [cpl] Compile the source, perhaps using the sandbox
40 60      [tt] Run test pipeline for each `TEST` of `TESTS`
41 **For 'opendata':**
42 ------------------
43 25      [tt] Locate the data files (as a dir)
44 30      [tt] Initialize sandbox module (if needed)
45 40      [tt] Initialize judge module, insert its hooks 
46 60      [tt] Run test pipeline for each `TEST` of `TESTS` 
47 **Recovery**
48 ------------------
49 70      Any failure jumps to this time
50 80      [*] Cleanup must be finished
51 \       Write metafile
52 ======= ==========
53
54 Test pipeline
55 -------------
56
57 ======= ========================
58 Time    Action
59 ======= ========================
60 \       Tee logging to test log file
61 **For 'standard':**
62 --------------------------------
63 10      [tt] Copy test data to `TDIR` and to `BOXDIR`
64 30      [tt] Run testee (inside sandbox)
65 40      [tt] Run judge (inside sandbox)
66 50      [tt] Read/parse judge result
67 60      [tt] Copy program output to `TDIR`
68 **For 'opendata':**
69 --------------------------------
70 10      [tt] Copy test data to `TDIR` and to `BOXDIR`
71 20      [tt] Locate the data file, copy to 
72 40      [tt] Run judge (inside sandbox)
73 50      [tt] Read/parse judge result
74 **Recovery**
75 --------------------------------
76 70      Any failure jumps to this time
77 80      [*] Cleanup must be finished
78 \       Write metafile
79 ======= ========================