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
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
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