OLD | NEW |
| (Empty) |
1 # Code Coverage | |
2 | |
3 ## Categories of coverage | |
4 | |
5 * executed - this line of code was hit during execution | |
6 * instrumented - this line of code was part of the compilation unit, but not | |
7 executed | |
8 * missing - in a source file, but not compiled. | |
9 * ignored - not an executable line, or a line we don't care about | |
10 | |
11 Coverage is calculated as `exe / (inst + miss)`. In general, lines that are in | |
12 `miss` should be ignored, but our exclusion rules are not good enough. | |
13 | |
14 ## Buildbots | |
15 | |
16 Buildbots are currently on the | |
17 [experimental waterfall](http://build.chromium.org/buildbot/waterfall.fyi/waterf
all). | |
18 The coverage figures they calculate come from running some subset of the | |
19 chromium testing suite. | |
20 | |
21 * [Linux](http://build.chromium.org/buildbot/waterfall.fyi/builders/Linux%20Co
verage%20(dbg)) | |
22 - uses `gcov` | |
23 * [Windows](http://build.chromium.org/buildbot/waterfall.fyi/builders/Win%20Co
verage%20%28dbg%29) | |
24 * [Mac](http://build.chromium.org/buildbot/waterfall.fyi/builders/Mac%20Covera
ge%20%28dbg%29) | |
25 | |
26 Also, | |
27 | |
28 * [Coverage dashboard](http://build.chromium.org/buildbot/coverage/) | |
29 * [Example coverage summary](http://build.chromium.org/buildbot/coverage/linux
-debug/49936/) | |
30 - the coverage is calculated at directory and file level, and the directory | |
31 structure is navigable via the **Subdirectories** table. | |
32 | |
33 ## Calculating coverage locally | |
34 | |
35 TODO | |
36 | |
37 ## Advanced Tips | |
38 | |
39 Sometimes a line of code should never be reached (e.g., `NOTREACHED()`). These | |
40 can be marked in the source with `// COV_NF_LINE`. Note that this syntax is | |
41 exact. | |
OLD | NEW |