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,7 +2336,6 @@ iseq_set_sequence(rb_iseq_t *iseq, LINK_ANCHOR *const anchor)
|
|||||||
!(rb_get_coverage_mode() & COVERAGE_TARGET_ONESHOT_LINES)) {
|
!(rb_get_coverage_mode() & COVERAGE_TARGET_ONESHOT_LINES)) {
|
||||||
int line = iobj->insn_info.line_no - 1;
|
int line = iobj->insn_info.line_no - 1;
|
||||||
if (line >= 0 && line < RARRAY_LEN(ISEQ_LINE_COVERAGE(iseq))) {
|
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));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -181,18 +181,6 @@ class TestCoverage < Test::Unit::TestCase
|
|||||||
end;
|
end;
|
||||||
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
|
def test_coverage_supported
|
||||||
assert Coverage.supported?(:lines)
|
assert Coverage.supported?(:lines)
|
||||||
assert Coverage.supported?(:oneshot_lines)
|
assert Coverage.supported?(:oneshot_lines)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user