Module: DeepCover::Tools::BuiltinCoverage

Defined in:
lib/deep_cover/tools/builtin_coverage.rb

Instance Method Summary collapse

Instance Method Details

#builtin_coverage(source, fn, lineno) ⇒ Object



7
8
9
10
11
12
13
14
# File 'lib/deep_cover/tools/builtin_coverage.rb', line 7

def builtin_coverage(source, fn, lineno)
  fn = File.absolute_path(File.expand_path(fn))
  ::Coverage.start
  Tools.silence_warnings do
    execute_sample -> { run_with_line_coverage(source, fn, lineno) }
  end
  unshift_coverage(::Coverage.result.fetch(fn), lineno)
end

#run_with_line_coverage(source, fn = nil, lineno = 1) ⇒ Object

Executes the source as if it was in the specified file while builtin coverage information is still captured



19
20
21
22
# File 'lib/deep_cover/tools/builtin_coverage.rb', line 19

def run_with_line_coverage(source, fn = nil, lineno = 1)
  source = shift_source(source, lineno)
  Object.to_java.getRuntime.executeScript(source, fn)
end