aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/ruby/test_jit.rb13
1 files changed, 11 insertions, 2 deletions
diff --git a/test/ruby/test_jit.rb b/test/ruby/test_jit.rb
index 039a2ff35f..04b0a0b74a 100644
--- a/test/ruby/test_jit.rb
+++ b/test/ruby/test_jit.rb
@@ -7,6 +7,11 @@ require_relative '../lib/jit_support'
class TestJIT < Test::Unit::TestCase
include JITSupport
+ IGNORABLE_PATTERNS = [
+ /\ASuccessful MJIT finish\n\z/,
+ /\AJIT compaction \(\d+\.\dms\): Compacted \d+ methods ->/,
+ ]
+
# trace_* insns are not compiled for now...
TEST_PENDING_INSNS = RubyVM::INSTRUCTION_NAMES.select { |n| n.start_with?('trace_') }.map(&:to_sym) + [
# not supported yet
@@ -544,7 +549,9 @@ class TestJIT < Test::Unit::TestCase
end
end;
assert_equal('0123456789', out)
- errs = err.lines
+ errs = err.lines.reject do |l|
+ IGNORABLE_PATTERNS.any? { |pat| pat.match?(l) }
+ end
assert_match(/\A#{JIT_SUCCESS_PREFIX}: block in <main>@-e:/, errs[0])
9.times do |i|
assert_match(/\A#{JIT_SUCCESS_PREFIX}: mjit#{i}@\(eval\):/, errs[i + 1])
@@ -776,7 +783,9 @@ class TestJIT < Test::Unit::TestCase
if stdout
assert_equal(stdout, out, "Expected stdout #{out.inspect} to match #{stdout.inspect} with script:\n#{code_block(script)}")
end
- err_lines = err.lines.reject! { |l| l.chomp.empty? || l.match?(/\A#{JIT_SUCCESS_PREFIX}/) || l == "Successful MJIT finish\n" }
+ err_lines = err.lines.reject! do |l|
+ l.chomp.empty? || l.match?(/\A#{JIT_SUCCESS_PREFIX}/) || IGNORABLE_PATTERNS.any? { |pat| pat.match?(l) }
+ end
unless err_lines.empty?
warn err_lines.join(''), uplevel: uplevel
end