Commit graph

1 commit

Author SHA1 Message Date
Ryan Turner
2f18cdcc0c test: unit: add gcovr test coverage
Add a script to run gcovr; update contributing guide to explain usage; integrate
with vscode presents; add execution to ci.

To use this, execute `scripts/coverage.sh`. This builds with coverage
instrumentation, runs the test suite, and produces:
 * HTML report: `build_coverage/coverage/index.html` -- open in a browser to see
   per-file line-by-line coverage highlighting
 * MD report: `build_coverage/coverage/coverage.md` -- human-readable summary of
   test coverage which gets attached to the GitHub actions build
 * Cobertura XML: `build/coverage/cobertura.xml` -- machine-readable format used
   by CI; this gets archived today with the build, but no other use is in place
   yet

In the future another tool could be used to track coverage over time, or we
could institute minimum coverage requirements and have a GH actions
automatically open a comment when the coverage is not met, for instance.

Co-authored-by: GitHub Copilot <copilot@github.com> Signed-off-by: Ryan Turner
<ryan@turnrye.com>
2026-03-04 08:10:40 +01:00