[ruby-dev:50991] [Ruby master Bug#17494] ruby is hanged when using activesupport + rspec + rspec-parameterized
From:
sue445fukuoka@...
Date:
2021-01-22 05:41:24 UTC
List:
ruby-dev #50991
Issue #17494 has been updated by sue445 (Go Sueyoshi).
# Workaround
`require` only minimal files.
In this case, stop to require "active_support/all"
e.g.
``` ruby
# require "active_support/all"
require "active_support/core_ext/time/zones"
require "active_support/core_ext/array/wrap"
require "active_support/core_ext/hash/keys"
require "active_support/core_ext/time/calculations"
```
----------------------------------------
Bug #17494: ruby is hanged when using activesupport + rspec + rspec-parameterized
https://bugs.ruby-lang.org/issues/17494#change-90037
* Author: sue445 (Go Sueyoshi)
* Status: Open
* Priority: Normal
* ruby -v: ruby 3.0.0p0
* Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN
----------------------------------------
# Example code
## Gemfile
```ruby
# frozen_string_literal: true
source "https://rubygems.org"
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
gem "activesupport", "6.1.0"
gem "rspec", "3.10.0"
gem "rspec-parameterized", "0.4.2"
```
## spec file
``` ruby
require "active_support/all"
require "rspec-parameterized"
describe "CLI" do
subject do
# Expected error, but actual hunged here
cli.foo # <- hunged here
end
it { expect { subject }.to raise_error }
end
xdescribe "GitlabMrRelease::Project" do
describe "#api_version" do
using RSpec::Parameterized::TableSyntax
where(:api_endpoint, :expected) do
"http://example.com/api/v4/" | 4
end
with_them do
# it { should eq expected }
end
end
end
```
all codes are here.
https://github.com/sue445/ruby_3_0_0_bug_report_20201231
# Expected
spec is successful (This is the behavior up to ruby 2.7.2)
# Actual
hunged at line 7
--
https://bugs.ruby-lang.org/