[enhancement] Add code coverage report generation to DSLX interpreter
- Dominant language
- C++
- Stars
- 1.9k
- Forks
- 283
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 135
Description
### What's hard to do? (limit 100 words)
Currently, the DSLX interpreter does not have the capability to produce code coverage reports, making it difficult to determine which parts of the code are being tested.
In Rust, tools like [`cargo-llvm-cov`](https://github.com/taiki-e/cargo-llvm-cov) and [`cargo-tarpaulin`](https://github.com/xd009642/tarpaulin) track test coverage and produce results in formats like `LCOV`, `LLVM JSON`, or `Cobertura XML`. These formats are widely used across different languages and tools, and can later be use to generate HTML reports.
Adding similar functionality to DSLX would help developers easily check if their tests cover all the important parts of their code.
### Current best alternative workaround (limit 100 words)
Currently, developers need to manually check code execution to figure out which parts of their code are covered by tests.
### Your view of the "best case XLS enhancement" (limit 100 words)
It would be great if the DSLX interpreter could track code coverage and export the results in formats commonly used by interpreted languages, such as `LCOV`.
Projects like [coverview](https://github.com/antmicro/coverview), [genhtml](https://github.com/linux-test-project/lcov/blob/master/bin/genhtml) and [grcov](https://github.com/mozilla/grcov) can take these formats and generate HTML reports. This would make it easier for developers to visualize the code coverage, check if tests are covering all important parts of the DSLX code.
Contributor guide
Assessment
This issue has not been assessed yet.