ms-ati / docile

Docile keeps your Ruby DSLs tame and well-behaved
http://ms-ati.github.com/docile/
MIT License
419 stars 34 forks source link

rspec testsuite fails with ruby 3.3.0dev #105

Closed mtasaka closed 3 months ago

mtasaka commented 1 year ago

Testing with ruby 3.3.0dev (I tried: https://github.com/ruby/ruby/commit/8cb906d7067d9b4cdf7971e49f185c737f3ee1f9 ), docile git head ( https://github.com/ms-ati/docile/commit/08cf67df99458d86c73c464eafe1af3da02da943 ) rspec testsuite fails like:

$ rspec spec
.....
Failures:

  1) Docile.dsl_eval when DSL have NoMethod error inside raise NoMethodError error from nil
     Failure/Error:
       expect { push_element }.
         to raise_error(
           NoMethodError,
           /undefined method `push' (for|on) nil:NilClass/
         )

       expected NoMethodError with message matching /undefined method `push' (for|on) nil:NilClass/, got #<NoMethodError: undefined method `push' for nil> with backtrace:
         # ./spec/docile_spec.rb:242:in `push_element'
         # ./lib/docile/fallback_context_proxy.rb:93:in `method_missing'
         # ./spec/docile_spec.rb:249:in `block (6 levels) in <top (required)>'
         # ./spec/docile_spec.rb:249:in `block (5 levels) in <top (required)>'
         # ./lib/docile/execution.rb:35:in `instance_exec'
         # ./lib/docile/execution.rb:35:in `exec_in_proxy_context'
         # ./lib/docile.rb:46:in `dsl_eval'
         # ./spec/docile_spec.rb:248:in `block (4 levels) in <top (required)>'
     # ./spec/docile_spec.rb:249:in `block (5 levels) in <top (required)>'
     # ./lib/docile/execution.rb:35:in `instance_exec'
     # ./lib/docile/execution.rb:35:in `exec_in_proxy_context'
     # ./lib/docile.rb:46:in `dsl_eval'
     # ./spec/docile_spec.rb:248:in `block (4 levels) in <top (required)>'

Finished in 0.03959 seconds (files took 0.10392 seconds to load)
45 examples, 1 failure

Failed examples:

rspec ./spec/docile_spec.rb:247 # Docile.dsl_eval when DSL have NoMethod error inside raise NoMethodError error from nil

This is due to : https://github.com/ruby/ruby/pull/6950 https://bugs.ruby-lang.org/issues/18285