Project

General

Profile

Actions

Bug #17868

closed

Strange result of Coverage for while-in-while

Added by universato (Yoshimine Sato) almost 3 years ago. Updated almost 3 years ago.

Status:
Closed
Target version:
-
[ruby-core:103887]

Description

n = 3
while n > 0
  n -= 1 while n > 0
end

This while_in_while.rb is the file to be measured.

require "coverage"
Coverage.start
load "while_in_while.rb"
pp  Coverage.result
# {"while_in_while.rb"=>[1, 1, 0, nil]}

The value of this lines coverage result should be [1, 1, 1, nil].

require "coverage"
Coverage.start(oneshot_lines: true)
load "while_in_while.rb"
pp  Coverage.result
# {"while_in_while.rb"=>{:oneshot_lines=>[1, 2]}}

The value of this oneshot lines coverage result should be [1, 2, 3].

require "coverage"
Coverage.start(lines: true)
load "while_in_while.rb"
pp  Coverage.result
# {"while_in_while.rb"=>{:lines=>[1, 1, 0, nil]}}

The value of this lines coverage result should be [1, 1, 1, nil].

require "coverage"
Coverage.start(:all)
load "while_in_while.rb"
pp  Coverage.result
# {"while_in_while.rb"=>
#   {:lines=>[1, 1, 1, nil],
#    :branches=>
#     {[:while, 0, 2, 0, 4, 3]=>{[:body, 1, 3, 2, 3, 20]=>1},
#      [:while, 2, 3, 2, 3, 20]=>{[:body, 3, 3, 2, 3, 8]=>3}},
#    :methods=>{}}}

I think the value of this lines coverage result is right.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0