From: mame@... Date: 2021-05-20T01:15:48+00:00 Subject: [ruby-core:103900] [Ruby master Bug#17868] Strange result of Coverage for while-in-while Issue #17868 has been updated by mame (Yusuke Endoh). Assignee set to mame (Yusuke Endoh) Status changed from Open to Assigned @ko1 agreed with my patch. I'll commit it soon. ---------------------------------------- Bug #17868: Strange result of Coverage for while-in-while https://bugs.ruby-lang.org/issues/17868#change-92026 * Author: universato (Yoshimine Sato) * Status: Assigned * Priority: Normal * Assignee: mame (Yusuke Endoh) * Backport: 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN ---------------------------------------- ```ruby n = 3 while n > 0 n -= 1 while n > 0 end ``` This `while_in_while.rb` is the file to be measured. ```ruby 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]`. ```ruby 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]`. ```ruby 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]`. ```ruby 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. -- https://bugs.ruby-lang.org/ Unsubscribe: