-
Notifications
You must be signed in to change notification settings - Fork 387
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
Bug: Only last filter expression is respected #99
Bug: Only last filter expression is respected #99
Conversation
… true if a filter matches the input.
Codecov Report
@@ Coverage Diff @@
## master #99 +/- ##
==========================================
+ Coverage 98.68% 98.91% +0.22%
==========================================
Files 15 15
Lines 1370 1378 +8
==========================================
+ Hits 1352 1363 +11
+ Misses 18 15 -3
Continue to review full report at Codecov.
|
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.
This is awesome. Thanks for catching the bug!!!
…ludeFiltersOnlyRespectLastFilterExpression Bug: Only last filter expression is respected
Bumps [coverlet.collector](https://github.com/coverlet-coverage/coverlet) from 1.3.0 to 3.0.1. #Release notes *Sourced from [coverlet.collector's releases](https://github.com/coverlet-coverage/coverlet/releases).* > ## v3.0.0 > * [#131](coverlet-coverage/coverlet#131) makes a slight change to the Coverlet JSON format > * 807f7b1bd5bea8158ffff343d5511cd16e0da9a0 uses a separate `coverlet.tracker` assembly to hold tracking code > * [#128](coverlet-coverage/coverlet#128) adds support for assemblies with `.exe` extension > * a1f18b4156374f3398d704e898ec58c7c6c64bf8 improves identifying compiler generated types > * [#134](coverlet-coverage/coverlet#134) adds considerable coverage tracking performance improvements > > ## v2.0.1 > * [#102](coverlet-coverage/coverlet#102) fixes issues with NUNIT3 Test adapter ([#101](coverlet-coverage/coverlet#101)) > * [#104](coverlet-coverage/coverlet#104) shows overall averages as part of final console output > * [#112](coverlet-coverage/coverlet#112) adds support for standard `ExcludeFromCodeCoverage` attribute to specify types and methods to exclude from code coverage. Deprecates `ExcludeFromCoverage` attribute > * coverlet-coverage/coverlet@7f190e4 prevents Opencover and Cobertura output generated at the same time from overwriting each other ([#111](coverlet-coverage/coverlet#111)) > * [#116](coverlet-coverage/coverlet#116) strongly signs the Coverlet assembly and aims to fix [#40](coverlet-coverage/coverlet#40) > > ## v2.0.0 > * [#78](coverlet-coverage/coverlet#78) adds support for generating multiple report formats in a single run > * [#73](coverlet-coverage/coverlet#73) improves branch coverage support and output formats* > * coverlet-coverage/coverlet@d2effb3 shows method coverage in summary output > * [#88](coverlet-coverage/coverlet#88) improves disk usage by using gzip compression > * [#93](coverlet-coverage/coverlet#93) adds `ThresholdType` property that allows you to specify the coverage type to apply the `Threshold` property to > * coverlet-coverage/coverlet@ebedd70 renames `Exclude` property to `ExcludeByFile`* > * coverlet-coverage/coverlet@9ed0864 supports using filter expressions to exclude assemblies, namespaces or types. Uses the `Exclude` property* > * [#99](coverlet-coverage/coverlet#99) adds improvements to evaluation of filter expressions > > `*` - Backwards incompatible change #Commits - See f...
Using a filter like
/p:Exclude="[coverlet.*]*,[*]Coverlet.Core*"
would only respect the last[*]Coverlet.Core*
filter expression.This PR aims to fix this bug such that all filters are used to determine if a type is excluded or not.
During the fix, i've noticed the possibility to use a questionmark in the filterexpressions.
This PR changes the behavior of the questionmark. Originally, the
?
meant (almost) any character at the position of the?
. Now the questionmark means that the character just before the questionmark is optional.So, first
/p:Exclude="[coverlet?]*
would match assemblies namedcoverlet1
,coverletX
but notcoverlet
.The new behaviour matches assemblies named
coverlet
, andcoverle
but nothing else (so the lastt
is optional).Let me know what you think of this.