Project

General

Profile

Actions

Bug #18177

closed

An error occurs when running RSpec with Ruby 3.1.0-dev

Added by koic (Koichi ITO) 9 months ago. Updated 9 months ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 3.1.0dev (2021-09-17T11:46:18Z master b45fe48fbb) [x86_64-darwin19]
[ruby-core:105334]

Description

Reproduction context

The following code causes an ArgumentError error when using Ruby 3.1.0-dev.

# foo_spec.rb
RSpec.shared_context 'config', :config do
end

RSpec.describe 'foo', :config do
end

RSpec version is as follows.

% gem i rspec
% rspec -v
RSpec 3.10
  - rspec-core 3.10.1
  - rspec-expectations 3.10.1
  - rspec-mocks 3.10.2
  - rspec-rails 5.0.1
  - rspec-support 3.10.2

Expected Behavior (Ruby 3.0.2)

No errors.

% ruby -v
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-darwin19]
% rspec foo_spec.rb
No examples found.


Finished in 0.00023 seconds (files took 0.11432 seconds to load)
0 examples, 0 failures

Actual Behavior (Ruby 3.1.0-dev)

ArgumentError: uninitialized module exception is raised.

% ruby -v
ruby 3.1.0dev (2021-09-17T11:46:18Z master b45fe48fbb) [x86_64-darwin19]
% rspec foo_spec.rb

An error occurred while loading ./foo_spec.rb.
Failure/Error: host.__send__(:include, mod) unless host < mod

ArgumentError:
  uninitialized module
# ./foo_spec.rb:5:in `<top (required)>'
No examples found.


Finished in 0.00003 seconds (files took 0.18197 seconds to load)
0 examples, 0 failures, 1 error occurred outside of examples

Perhaps the following commits have changed the behavior.
https://github.com/ruby/ruby/commit/178ee1e#diff-ddea6b44375166521cc45b79d4c54b08594c13872acc5ec279f07d2eda8c32baR920

I encountered this error in the following build error of RuboCop Rails.
https://app.circleci.com/pipelines/github/rubocop/rubocop-rails/1323/workflows/5a4fc5af-448c-46d7-a723-ee1c119fc2f2/jobs/8579

I opened this issue because I'm not sure what an expected behavior is. Thank you.

Actions

Also available in: Atom PDF