Skip to content

rspec testsuite fails with ruby4.0.0dev 2025-11-24 #63

@mtasaka

Description

@mtasaka

Beginning with this ruby4.0.0dev commit:
ruby/ruby@c7a84ae

(Or for ruby/json: beginning with this commit:
ruby/json@4f4551f
)

jmespath git head ( 5e86ea7 )
rspec testsuite fails like:

An error occurred while loading ./spec/compliance_spec.rb.
Failure/Error:
          describe("Given #{scenario['given'].to_json}") do
            scenario['cases'].each do |test_case|
              if test_case['error']
  
                it "the expression #{test_case['expression'].inspect} raises a #{test_case['error']} error" do
                  error_class = case test_case['error']
                                when 'runtime' then JMESPath::Errors::RuntimeError
                                when 'syntax' then JMESPath::Errors::SyntaxError
                                when 'invalid-type' then JMESPath::Errors::InvalidTypeError
                                when 'invalid-value' then JMESPath::Errors::InvalidValueError

JSON::GeneratorError:
  source sequence is illegal/malformed utf-8
# ./spec/compliance_spec.rb:12:in 'JSON::Ext::Generator::GeneratorMethods::Hash#to_json'
# ./spec/compliance_spec.rb:12:in 'block (4 levels) in <top (required)>'
# ./spec/compliance_spec.rb:11:in 'Array#each'
# ./spec/compliance_spec.rb:11:in 'block (3 levels) in <top (required)>'
# ./spec/compliance_spec.rb:10:in 'block (2 levels) in <top (required)>'
# ./spec/compliance_spec.rb:5:in 'Array#each'
# ./spec/compliance_spec.rb:5:in 'block in <top (required)>'
# ./spec/compliance_spec.rb:4:in '<top (required)>'

An error occurred while loading ./spec/implicit_conversion_spec.rb.
Failure/Error:
              describe("Given #{scenario['given'].to_json}") do
                scenario['cases'].each do |test_case|
                  next if test_case['error']
                  it "searching #{test_case['expression'].inspect} returns #{test_case['result'].to_json}" do
                    result = JMESPath.search(test_case['expression'], Wrapper.wrap(scenario['given']))
  
                    expect(JMESPath::Util.as_json(result)).to eq(test_case['result'])
                  end
                end
              end

JSON::GeneratorError:
  source sequence is illegal/malformed utf-8
# ./spec/implicit_conversion_spec.rb:65:in 'JSON::Ext::Generator::GeneratorMethods::Hash#to_json'
# ./spec/implicit_conversion_spec.rb:65:in 'block (5 levels) in <module:JMESPath>'
# ./spec/implicit_conversion_spec.rb:64:in 'Array#each'
# ./spec/implicit_conversion_spec.rb:64:in 'block (4 levels) in <module:JMESPath>'
# ./spec/implicit_conversion_spec.rb:63:in 'block (3 levels) in <module:JMESPath>'
# ./spec/implicit_conversion_spec.rb:58:in 'Array#each'
# ./spec/implicit_conversion_spec.rb:58:in 'block (2 levels) in <module:JMESPath>'
# ./spec/implicit_conversion_spec.rb:57:in 'block in <module:JMESPath>'
# ./spec/implicit_conversion_spec.rb:37:in '<module:JMESPath>'
# ./spec/implicit_conversion_spec.rb:36:in '<top (required)>'


Finished in 0.00007 seconds (files took 0.5614 seconds to load)
0 examples, 0 failures, 2 errors occurred outside of examples

spec/compliance/identifiers.json is failing (if I remove this json file, rspec testsuite passes).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions