Skip to content
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
merged 1 commit into from
May 10, 2024

Conversation

nevinera
Copy link
Contributor

@nevinera nevinera commented May 9, 2024

(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.

The 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:

    simplecov-ruby/simplecov#616

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.
@pirj pirj merged commit fdc2036 into rspec:main May 10, 2024
28 of 30 checks passed
@pirj
Copy link
Member

pirj commented May 10, 2024

Thank you!

JonRowe pushed a commit that referenced this pull request Sep 5, 2024
Use stronger path-matching for simplecov filters
# for free to subscribe to this conversation on GitHub. Already have an account? #.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

SimpleCov execution in rspec-core builds is sneakily broken
2 participants