-
Notifications
You must be signed in to change notification settings - Fork 8k
testsuite: optional limiting of coverage dumps #94029
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks reasonable.
btw, been looking into using semihosting instead of console dumps, see #94079
4709443
to
30341e9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds configuration options to limit coverage dump generation by allowing users to filter which files are included in .gcda
files during coverage testing. This addresses issues where coverage dumps become excessively large due to unwanted library data (like MbedTLS) causing disk space issues and test failures.
- Added a new configuration option
COVERAGE_DUMP_PATH_EXCLUSIVE
for path-based filtering - Restructured Kconfig to group coverage-related options under a conditional block
- Removed redundant
depends on COVERAGE_GCOV
clauses
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
bb1b246
to
b631ef7
Compare
Updated the implementation to instead specify a single exclude pattern. It ended up being much harder than I originally realised to construct a pattern that captured only the files I wanted. |
need rebase |
Add an option that excludes generation of a given path of `.gcda` files when running coverage testing. This can be useful when running testing coverage on downstream repos, which would otherwise result in large `.gcda` files for paths we don't care about filling up the disk. One example of using this is to exclude coverage outputs from mbedtls files with the following: `CONFIG_COVERAGE_DUMP_PATH_EXCLUDE="*modules/crypto/mbedtls*"` Signed-off-by: Jordan Yates <[email protected]>
b631ef7
to
609de69
Compare
|
This change appears to be causing issues in our code coverage builds since I think we need to add some |
Please take a look at #97148 as possible solution |
Add an option that excludes generation of a given path of
.gcda
files when running coverage testing. This can be useful when running testing coverage on downstream repos, which would otherwise result in large.gcda
files for paths we don't care about filling up the disk.The issue triggering this PR was huge portions of coverage dumps for my downstream repo being just MbedTLS data, which was ignored at the next processing step due to
--coverage-basedir
. The dumped data ended up being so large that something between QEMU andhandler.log
was having trouble actually saving it all, leading to test failures due to "GCOV_COVERAGE_DUMP_END" not being found in the file.