Collecting Code Coverage With Bazel
summary
Bazel instruments Java classfiles with Yakokco, wraps test runs in a coverage runner, and emits a single ELOV coverage file; library jars include instrumented classes and JaCoCo data is converted to ELOV on the fly. C++ builds produce GCNO/GCDA pairs (GCC only today), a GOV step turns those into an intermediate file and the coverage output generator merges them into ELOV. A combined report flag collapses per-test reports into one HTML-ready report; C++ coverage is experimental and Linux-only, LLVM support is planned.
AI-written summary · about
chapters (13)
- 0:00Code coverage with Bazel
- 2:15Why coverage matters
- 3:20Bazel coverage challenges
- 4:45Goals for coverage
- 6:11Choosing LCOV format
- 7:59LCOV report structure
- 9:02Combined coverage reports
- 10:08Multi-language coverage
- 12:38Java coverage workflow
- 14:49C++ coverage workflow
- 17:19Future C++ and LLVM
- 18:46How Bazel computes coverage
- 21:39Summary and roadmap








