mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
test/ruby/test_iseq.rb: Skip test_safe_call_chain if Coverage is running.
Follow up to r59990. When Coverage is running, trace2 instructions are inserted to take branch coverages for safe method invocations. This insertion makes safe call chains unable to be optimized and breaks this test case. So we test it only when Coverage is not running. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60015 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
fc8bacf9a8
commit
5d12e82647
1 changed files with 3 additions and 1 deletions
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue