Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Skip tests that raises "cannot get AST for ISEQ compiled by prism" if…
… Ruby parse is Prism This commit addresses these CI failures. https://buildkite.com/rails/rails-nightly/builds/1023#0191ed31-1d8d-41e5-906b-e3b88aab79da Ruby 3.4.0dev default parser has been switched to Prism, After the default parser is switched from parse.y to Prism some of Active Support tests get failed with "cannot get AST for ISEQ compiled by prism" message. According to ruby/ruby#9934, this seems to be the expected behavior of Ruby with the Prism parser. This commit adds the `prism_skip` method following the naming convention of `jruby_skip` that has been removed via rails#49454 . - This commit addresses these failures against Ruby 3.4.0dev with Prism parser. ```ruby $ ruby -v ruby 3.4.0dev (2024-09-15T01:06:11Z master 532af89e3b) +PRISM [x86_64-linux] $ cd activesupport $ bin/test -n "/^(?:TestOrderTest#(?:test_test_order_is_global)|AssertionsTest#(?:test_assert_changes_message_with_lambda|test_assert_difference_message_with_lambda|test_assert_no_changes_message_with_lambda|test_assert_no_changes_message_with_multi_line_lambda|test_assert_no_difference_with_multiple_expressions_fail)|ExceptionsInsideAssertionsTest#(?:test_warning_is_not_logged_if_assertions_are_nested_correctly))$/" /home/yahonda/.gem/ruby/3.4.0+0/gems/json-2.7.1/lib/json/common.rb:3: warning: ostruct was loaded from the standard library, but will no longer be part of the default gems starting from Ruby 3.5.0. You can add ostruct to your Gemfile or gemspec to silence this warning. WARNING: Nokogiri was built against libxml version 2.12.9, but has dynamically loaded 2.9.14 Run options: -n "/^(?:TestOrderTest#(?:test_test_order_is_global)|AssertionsTest#(?:test_assert_changes_message_with_lambda|test_assert_difference_message_with_lambda|test_assert_no_changes_message_with_lambda|test_assert_no_changes_message_with_multi_line_lambda|test_assert_no_difference_with_multiple_expressions_fail)|ExceptionsInsideAssertionsTest#(?:test_warning_is_not_logged_if_assertions_are_nested_correctly))$/" --seed 65502 F Failure: ExceptionsInsideAssertionsTest#test_warning_is_not_logged_if_assertions_are_nested_correctly [test/test_case_test.rb:508]: [Minitest::Assertion] exception expected, not Class: <RuntimeError> Message: <"cannot get AST for ISEQ compiled by prism"> ---Backtrace--- <internal:ast>:97:in 'RubyVM::AbstractSyntaxTree.of' /home/yahonda/src/github.com/rails/rails/activesupport/lib/active_support/testing/assertions.rb:304:in 'ActiveSupport::Testing::Assertions#_callable_to_source_string' /home/yahonda/src/github.com/rails/rails/activesupport/lib/active_support/testing/assertions.rb:270:in 'block in ActiveSupport::Testing::Assertions#assert_no_changes' --------------- bin/test test/test_case_test.rb:507 F Failure: AssertionsTest#test_assert_changes_message_with_lambda [test/test_case_test.rb:252]: [Minitest::Assertion] exception expected, not Class: <RuntimeError> Message: <"cannot get AST for ISEQ compiled by prism"> ---Backtrace--- <internal:ast>:97:in 'RubyVM::AbstractSyntaxTree.of' /home/yahonda/src/github.com/rails/rails/activesupport/lib/active_support/testing/assertions.rb:304:in 'ActiveSupport::Testing::Assertions#_callable_to_source_string' /home/yahonda/src/github.com/rails/rails/activesupport/lib/active_support/testing/assertions.rb:213:in 'block in ActiveSupport::Testing::Assertions#assert_changes' --------------- bin/test test/test_case_test.rb:249 F Failure: AssertionsTest#test_assert_no_changes_message_with_multi_line_lambda [test/test_case_test.rb:427]: [Minitest::Assertion] exception expected, not Class: <RuntimeError> Message: <"cannot get AST for ISEQ compiled by prism"> ---Backtrace--- <internal:ast>:97:in 'RubyVM::AbstractSyntaxTree.of' /home/yahonda/src/github.com/rails/rails/activesupport/lib/active_support/testing/assertions.rb:304:in 'ActiveSupport::Testing::Assertions#_callable_to_source_string' /home/yahonda/src/github.com/rails/rails/activesupport/lib/active_support/testing/assertions.rb:270:in 'block in ActiveSupport::Testing::Assertions#assert_no_changes' --------------- bin/test test/test_case_test.rb:422 F Failure: AssertionsTest#test_assert_no_changes_message_with_lambda [test/test_case_test.rb:380]: [Minitest::Assertion] exception expected, not Class: <RuntimeError> Message: <"cannot get AST for ISEQ compiled by prism"> ---Backtrace--- <internal:ast>:97:in 'RubyVM::AbstractSyntaxTree.of' /home/yahonda/src/github.com/rails/rails/activesupport/lib/active_support/testing/assertions.rb:304:in 'ActiveSupport::Testing::Assertions#_callable_to_source_string' /home/yahonda/src/github.com/rails/rails/activesupport/lib/active_support/testing/assertions.rb:270:in 'block in ActiveSupport::Testing::Assertions#assert_no_changes' --------------- bin/test test/test_case_test.rb:377 F Failure: AssertionsTest#test_assert_no_difference_with_multiple_expressions_fail [test/test_case_test.rb:78]: [Minitest::Assertion] exception expected, not Class: <RuntimeError> Message: <"cannot get AST for ISEQ compiled by prism"> ---Backtrace--- <internal:ast>:97:in 'RubyVM::AbstractSyntaxTree.of' /home/yahonda/src/github.com/rails/rails/activesupport/lib/active_support/testing/assertions.rb:304:in 'ActiveSupport::Testing::Assertions#_callable_to_source_string' /home/yahonda/src/github.com/rails/rails/activesupport/lib/active_support/testing/assertions.rb:122:in 'block (2 levels) in ActiveSupport::Testing::Assertions#assert_difference' --------------- bin/test test/test_case_test.rb:76 F Failure: AssertionsTest#test_assert_difference_message_with_lambda [test/test_case_test.rb:176]: [Minitest::Assertion] exception expected, not Class: <RuntimeError> Message: <"cannot get AST for ISEQ compiled by prism"> ---Backtrace--- <internal:ast>:97:in 'RubyVM::AbstractSyntaxTree.of' /home/yahonda/src/github.com/rails/rails/activesupport/lib/active_support/testing/assertions.rb:304:in 'ActiveSupport::Testing::Assertions#_callable_to_source_string' /home/yahonda/src/github.com/rails/rails/activesupport/lib/active_support/testing/assertions.rb:122:in 'block (2 levels) in ActiveSupport::Testing::Assertions#assert_difference' --------------- bin/test test/test_case_test.rb:173 . Finished in 0.044451s, 157.4784 runs/s, 629.9136 assertions/s. 7 runs, 28 assertions, 6 failures, 0 errors, 0 skips $ ``` Refer to ruby/ruby#9934 ruby/ruby#11497 https://bugs.ruby-lang.org/issues/20564
- Loading branch information