diff --git a/test/ruby/test_iseq.rb b/test/ruby/test_iseq.rb index 54256816cf..4de2aa7169 100644 --- a/test/ruby/test_iseq.rb +++ b/test/ruby/test_iseq.rb @@ -186,12 +186,14 @@ class TestISeq < Test::Unit::TestCase assert_predicate(s4, :frozen?) end + # Safe call chain is not optimized when Coverage is running. + # So we can test it only when Coverage is not running. def test_safe_call_chain src = "a&.a&.a&.a&.a&.a" body = compile(src, __LINE__, {peephole_optimization: true}).to_a[13] labels = body.select {|op, arg| op == :branchnil}.map {|op, arg| arg} assert_equal(1, labels.uniq.size) - end + end if (!defined?(Coverage) || !Coverage.running?) def test_parent_iseq_mark assert_separately([], <<-'end;', timeout: 20)