| 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 |