Revert "Don't reset line coverage for evaled code. (#8330)"
This reverts commit 7e0f5df2f99693267d61636d23da47f79924e9d5. https://bugs.ruby-lang.org/issues/19857#note-7
This commit is contained in:
parent
4cc5659293
commit
4f4c1170bc
@ -2336,8 +2336,7 @@ iseq_set_sequence(rb_iseq_t *iseq, LINK_ANCHOR *const anchor)
|
||||
!(rb_get_coverage_mode() & COVERAGE_TARGET_ONESHOT_LINES)) {
|
||||
int line = iobj->insn_info.line_no - 1;
|
||||
if (line >= 0 && line < RARRAY_LEN(ISEQ_LINE_COVERAGE(iseq))) {
|
||||
if (RARRAY_AREF(ISEQ_LINE_COVERAGE(iseq), line) == Qnil)
|
||||
RARRAY_ASET(ISEQ_LINE_COVERAGE(iseq), line, INT2FIX(0));
|
||||
RARRAY_ASET(ISEQ_LINE_COVERAGE(iseq), line, INT2FIX(0));
|
||||
}
|
||||
}
|
||||
if (ISEQ_BRANCH_COVERAGE(iseq) && (events & RUBY_EVENT_COVERAGE_BRANCH)) {
|
||||
|
@ -181,18 +181,6 @@ class TestCoverage < Test::Unit::TestCase
|
||||
end;
|
||||
end
|
||||
|
||||
def test_eval_coverage_repeated
|
||||
assert_in_out_err(%w[-rcoverage], <<-"end;", ["[3]"], [])
|
||||
Coverage.start(eval: true, lines: true)
|
||||
|
||||
3.times do
|
||||
eval("Object.new", nil, "test.rb")
|
||||
end
|
||||
|
||||
p Coverage.result["test.rb"][:lines]
|
||||
end;
|
||||
end
|
||||
|
||||
def test_coverage_supported
|
||||
assert Coverage.supported?(:lines)
|
||||
assert Coverage.supported?(:oneshot_lines)
|
||||
|
Loading…
x
Reference in New Issue
Block a user