Test coverage for native code WIP
Part of: https://git.lix.systems/lix-project/lix/issues/1186
This commit is contained in:
@@ -444,6 +444,18 @@ You can build it yourself:
|
||||
# xdg-open ./result/coverage/index.html
|
||||
```
|
||||
|
||||
Or, in a dev shell, set `-Dcoverage=true` when running `meson setup`.
|
||||
Coverage data goes into `build/profraw` when you run executables in the dev shell.
|
||||
Then, run `ninja -C build coverage-report` to produce an HTML report of coverage in `build/coverage/index.html` alongside a LLVM `.lcov` file.
|
||||
|
||||
> [!NOTE]
|
||||
> We use the [llvm source-based coverage], which has better precision than using clang with gcov, which is debuginfo based (but likely worse performance, which is fine).
|
||||
>
|
||||
> It should be noted that Meson [allegedly has coverage support][meson-coverage], but it only supports gcov-style coverage, so we don't use it.
|
||||
|
||||
[llvm source-based coverage]: https://clang.llvm.org/docs/SourceBasedCodeCoverage.html
|
||||
[meson-coverage]: https://mesonbuild.com/Unit-tests.html#coverage
|
||||
|
||||
Metrics about the change in line/function coverage over time will be available in the future (FIXME(lix-hydra)).
|
||||
|
||||
## Add a release note {#release-notes}
|
||||
|
||||
Reference in New Issue
Block a user