diff options
Diffstat (limited to 'ext/coverage/lib/coverage.rb')
| -rw-r--r-- | ext/coverage/lib/coverage.rb | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/ext/coverage/lib/coverage.rb b/ext/coverage/lib/coverage.rb index 7a6ef0e100..4bd20e22cb 100644 --- a/ext/coverage/lib/coverage.rb +++ b/ext/coverage/lib/coverage.rb @@ -1,12 +1,17 @@ require "coverage.so" module Coverage + # call-seq: + # line_stub(file) -> array + # + # A simple helper function that creates the "stub" of line coverage + # from a given source code. def self.line_stub(file) lines = File.foreach(file).map { nil } 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 |
