All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- support for scarb
2.18.0
- support for scarb
2.12.0
- default
cairo-coveragecommand. You must now usecairo-coverage runto generate a coverage report. - support for windows. We recommend using the Windows Subsystem for Linux (WSL) to run
cairo-coverageon Windows. - support for scarb
2.8.*. - option to include test functions in the coverage report as this only worked for
2.8.*. It Will be brought back in the future.
- warning if the current scarb version doesn't support not including macros in the coverage report
--unstableflag to enable unstable features. Read more about it here
- macros are now by default included in the coverage report. If you want to exclude them, use the
--includewithout themacrosoption (can also have empty value). This is due to a new stability policy. Read more about it here - by default, the hit count of the lines will be truncated to 1. This can be changed with the
--no-truncationflag. This is due to a new stability policy. Read more about it here
cairo-coverage cleancommand to remove all generated files. This is useful as by default, if a coverage report already exists, the new report is appended to it. So if you want to start fresh, you can use this command.
cairo-coverageis now up to 2x faster. This is achieved by using multiple threadscairo-coveragemust be called within a scarb-managed workspace as now it usesscarb metadatato infer the project root directory.cairo-coverage-ignorefile now is only accepted in the project root directory
.cairo-coverage-ignorefile to exclude files or directories from the coverage report
- Fixed project inference to work with upcoming
snforge0.34.0 - A lot of false negatives in the coverage report (your code has executed at this line but it is not marked as
executed).
Note:That this might remove some true positives/negatives (mark them as not executable). Please report any issues you find.
- Support for contracts
- Option to not include macros in coverage report. To get the same behavior as before use
--include macros --project-pathflag to specify the path to the project root directory. This useful when inference fails
- Bug where hit count was not correctly calculated for functions declared at same line
- Functions from imported projects are no longer included in report when
SCARB_CACHEis set
--include-test-functionswas remove in favor of--include. To get same behavior as before use--include tests-functions- Only the start of the function is now included in the report. The end of the function is optional in the lcov format
and would produce a warning in tools like
genhtmlwhen two or more functions are declared on the same line