Improve specificity of ignored files in coverage reports #961
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Code coverage reports are filtered to omit the tests themselves, as well as all library code checked out in
.build
. This is done with the--ignore-filename-regex
argument passed to llvm-cov'sexport
command.The current filter is defined as
Tests|swift-testing|Testing|.build|Snippets|Plugins
, and filters out files if they contain any of those strings in their filename. This can be too aggressive, and was filtering out valid files under test and omitting them from reports. For instance the fileSwiftTestingScanner.swift
is filtered out of the coverage report for the sourcekit-lsp repository despite being a valid file to be covered.Instead, filter with fully qualified paths for each test target's source directory and the
.build
folder. This omits Tests and library code while avoiding the problem outlined above.