start reporting coverage in CI
We'd like to improve Kea public perception as a stable and responsible project that large organizations can rely on. One way to achieve that is get a high score on Best Practices CII page.
The page can be confusing at first. There are 3 certificate levels: passing (we got that), silver and gold. For each level, there are multiple areas with specific requirements. The coverage is covered on gold level in Quality section.
So, the long term goal is to fulfill those requirements:
- automated test suite(s) that provide at least 90% statement coverage
- automated test suite(s) that provide at least 80% branch coverage
It's a complex task and we most likely don't have coverage that is this high. So let's aim for something more modest. The goal here is to start measuring statement and branch coverage.
Couple useful sources to consider:
-
BIND 9 tests coverage and reports it on gitlab: https://gitlab.isc.org/isc-projects/bind9/-/graphs/main/charts (we don't have to do it the same way, it's just a pointer)
-
https://jenkins.aws.isc.org/job/kea-dev/job/ut-extended/302/cobertura/
-
we have an old job on Jenkins for coverage: https://jenkins.isc.org/view/All/job/kea-master-coverage-internal/ it predates Jenkins files, but there may be some useful scripts to be salvaged there