In the attachment, I show several lines from this file coverage report on a Perl 5 module in the Parrot distribution:

http://thenceforward.net/parrot/coverage/configure-build/config-auto-pmc-pm.html


http://tinyurl.com/5fovnc


Two statements, lines 261-262, each of which is a simple 'push'. But unlike other 'push' statements in this file, I get *two* entries in the 'stmt' column for each of these two lines. In the first case, line 261 is encountered 2444 times -- but that's reported twice. In the second case, I also get two statement reports for the same line -- but the second report is 0.

These two lines were refactored from another location in the same file today. When I ran Devel::Cover on that earlier version, the two lines appeared normal, i.e., no double 'stmt' coverage. But the double coverage today -- and specifically the '0' second statement on line 262 -- caused the overall statement coverage for config/auto/pmc.pm to drop from 100% to 99.3%.

I don't understand why I'm getting double reportage on these two lines. Any ideas?

(Note: The explanation shouldn't have anything to do, fundamentally, with the branch in line 262. That branch had only 50% coverage in the *previous* coverage run as well.)

Thank you very much.

Jim Keenan
config/auto/pmc.pm

line  err   stmt   bran   cond    sub    pod   time   code

260                                                                   # please 
note that normal and Const PMCs must be in this order
261         2444                              26260                   push @{ 
$parents{$parent} }, $name;
            2444                              31820   
262   ***   2444     50                       28942                   push @{ 
$parents{$parent} }, "Const$name" if $const;
      ***      0                                  0   

Reply via email to