diff options
author | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-12-20 10:17:37 +0000 |
---|---|---|
committer | mame <mame@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-12-20 10:17:37 +0000 |
commit | ab2da43ce4f0ca485721cdb3de8d814e47e74cdf (patch) | |
tree | a84dc0dc113d8cbc68f92bb259bffe2ca101e3f1 /ext | |
parent | 1d13610d8a297294fa1d727b9fc0d817b28165e7 (diff) |
ext/coverage/lib/coverage.rb (Coverage.line_stub): use only line events
It wrongly used all linenos of ISeq#trace_points which includes not only
line events but also call, return, and other events. So, the result
included some linenos that can not be covered at all by line coverage.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r-- | ext/coverage/lib/coverage.rb | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ext/coverage/lib/coverage.rb b/ext/coverage/lib/coverage.rb index 7a6ef0e100..f1923ef366 100644 --- a/ext/coverage/lib/coverage.rb +++ b/ext/coverage/lib/coverage.rb @@ -6,7 +6,7 @@ module Coverage iseqs = [RubyVM::InstructionSequence.compile_file(file)] until iseqs.empty? iseq = iseqs.pop - iseq.trace_points.each {|n, _| lines[n - 1] = 0 } + iseq.trace_points.each {|n, type| lines[n - 1] = 0 if type == :line } iseq.each_child {|child| iseqs << child } end lines |