This repository has been archived by the owner on Nov 30, 2024. It is now read-only.
Use stronger path-matching for simplecov filters #3084
Merged
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.
(Resolves #3083)
The simplecov filter for "spec/" was actually matching basically everything in the gem (and discarding it), because it's all in
lib/rspec/
, and simplecov is doing a string-based infix match. I'm not certain when that changed, but my guess is 2018, in this PR.Switching from strings to regex-based rules suffices, but to keep the regexes from matching other parts of the path (like if a file were later named
lib/rspec/core/grouped_spec/foo.rb
, or if Benjamin Spec had his files at/Users/spec/src/rspec-core/
) we also need to specify the SimpleCov.root; then the regexes get applied to the project-relative paths instead of the full paths, so we can match against the path-beginnings.I also adjusted the minimum_coverage down to 99, since we're currently at 99.26, and not 100%. I'll get on that shortly.