Skip to content
This repository was archived by the owner on Nov 30, 2024. It is now read-only.

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
@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