-
-
Notifications
You must be signed in to change notification settings - Fork 354
Add missing ruby2_keywords calls in rspec-mocks #1464
Conversation
0dbe9d7
to
9703d86
Compare
This change is also needed for Ruby 3.2 if the fix for https://bugs.ruby-lang.org/issues/18625 gets in. Since 3.2 needs that fix, it seems we will need a rspec release, so Bundler can get this fix, and Bundler is tested in ruby/ruby's CI. Bundler's specs can't just point to a github branch due to rspec inter-gem version restrictions (and that wouldn't be a good solution longer-term either of course): https://github.com/ruby/ruby/pull/5684/checks |
Re-running jobs to see if a weird failure was temporary. |
I'm fine with this if we can get a passing build, although if there is an easy way to get a spec (or specs) that would fail without these changes on one of the existing MRI builds that'd be a nice to have. |
I'm really confused how this PR can cause 2.5/2.6 to fail rspec-rails specs, on Linux but not Windows, when |
Looks like I'm running into #1385 (comment) |
* And standardize checks to `if respond_to?(:ruby2_keywords, true)`.
9703d86
to
114e6ba
Compare
CI shall be green now (here is my run), except 2.3 Windows which is already failing on main.
This is not possible, the code before this PR only works "thanks" to a CRuby bug of not resetting the |
Just to have some records of what the fix entailed, what is the difference between your original implementation of this PR and the final result, @eregon? |
You can see it with the |
Could I ask for a release of rspec-mocks including this fix? |
Add missing ruby2_keywords calls in rspec-mocks
Released as 3.11.1 |
if respond_to?(:ruby2_keywords, true)
.cc @bjfish
This is progress towards rspec/rspec-metagem#68.
Before: 25 failures, After: 2 failures left (which seem unrelated):
BTW, the reason the code worked before these
ruby2_keywords
seems accidental and due to a bug/inconsistency in CRuby: https://bugs.ruby-lang.org/issues/18625