diff --git a/test/mri/excludes/TestRegexp.rb b/test/mri/excludes/TestRegexp.rb index fb31614bfea..457ce918288 100644 --- a/test/mri/excludes/TestRegexp.rb +++ b/test/mri/excludes/TestRegexp.rb @@ -15,7 +15,7 @@ exclude :test_matchdata, "<42> expected but was ." exclude :test_named_capture, "<\"#\"> expected but was <\"#\">." exclude :test_named_capture_nonascii, "IndexError expected but nothing was raised." -exclude :test_once_multithread, "TypeError: TruffleRuby doesn't have a case for the org.truffleruby.core.array.ArrayAppendOneNodeGen node with values of type Array(org.truffleruby.core.array.RubyArray)[org.truffleruby.core.array.library.SharedArrayStorage,1] org.truffleruby.core.regexp.RubyRegexp" +exclude :test_once_multithread, "transient(fails on CI): <[/1/, /1/]> expected but was <[/1/]>." exclude :test_parse, "Polyglot::ForeignException: invalid group reference 80" exclude :test_parse_kg, "Polyglot::ForeignException: undefined name <-1> reference" exclude :test_posix_bracket, "expected: /duplicated range/" diff --git a/test/mri/failing.exclude b/test/mri/failing.exclude index b69fc9aac08..8c3b194e9d8 100644 --- a/test/mri/failing.exclude +++ b/test/mri/failing.exclude @@ -1,8 +1,11 @@ # Explicitly unsupported -ruby/test_ast.rb +ruby/test_ast.rb # tests RubyVM::InstructionSequence +ruby/test_compile_prism.rb # tests RubyVM::InstructionSequence +ruby/test_iseq.rb # tests RubyVM::InstructionSequence ruby/test_mjit.rb ruby/test_mjit_debug.rb +ruby/test_rubyvm.rb # tests RubyVM dbm/test_dbm.rb gdbm/test_gdbm.rb test_pty.rb @@ -75,8 +78,4 @@ dtrace/test_singleton_function.rb dtrace/test_string.rb misc/test_ruby_mode.rb ruby/enc/test_windows_1251.rb -ruby/test_ast.rb # tests RubyVM::InstructionSequence -ruby/test_compile_prism.rb # tests RubyVM::InstructionSequence -ruby/test_iseq.rb # RubyVM -ruby/test_rubyvm.rb ruby/test_bignum.rb # relies on Bignums on Fixnum range diff --git a/tool/parse_mri_errors.rb b/tool/parse_mri_errors.rb index ed801ad8206..9d190115a19 100755 --- a/tool/parse_mri_errors.rb +++ b/tool/parse_mri_errors.rb @@ -410,6 +410,16 @@ def process_test_failures!(contents) error_display = error_lines[index] # Mismatched expectations span two lines. It's much more useful if they're combined into one message. + # + # FIXME: A line with "expected but was" may be prefixed with additional line, e.g. + # ``` + # 1) Failure: + # Test_SPrintf#test_format_integer(% #-020.d) [/b/b/e/main/test/mri/tests/cext-ruby/test_printf.rb:153]: + # rb_sprintf("% #-020.d", 2147483647). + # <[" 2147483647 ", "% #-020.d"]> expected but was + # <[" 0000000002147483647", "% #-020.d"]>. + # ``` + # In this case only the first line of the message is added to the result - 'rb_sprintf("% #-020.d", 2147483647).' if error_display =~ /expected but was/ index += 1 error_display << ' ' + error_lines[index]