The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Reading database from ...
Unknown type true found parsing uncoverable condition at tests/uncoverable:45
2 unmatched uncoverable comments not found at end of tests/uncoverable


------------------------------------------ ------ ------ ------ ------ ------
File                                         stmt   bran   cond    sub  total
------------------------------------------ ------ ------ ------ ------ ------
tests/uncoverable                           100.0  100.0  100.0  100.0  100.0
Total                                       100.0  100.0  100.0  100.0  100.0
------------------------------------------ ------ ------ ------ ------ ------


Run: ...
Perl version: ...
OS: ...
Start: ...
Finish: ...

tests/uncoverable

line  err   stmt   bran   cond    sub   code
1                                       #!/usr/bin/perl
2                                       
3                                       # Copyright 2004-2017, Paul Johnson (paul@pjcj.net)
4                                       
5                                       # This software is free.  It is licensed under the same terms as Perl itself.
6                                       
7                                       # The latest version of this software should be available from my homepage:
8                                       # http://www.pjcj.net
9                                       
10                                      # __COVER__ uncoverable_file tests/.uncoverable
11                                      
12             1                        my $x = 1;
13             1                        my $y = 1;
14                                      
15                                      # uncoverable branch true
16                                      # uncoverable condition left
17                                      # uncoverable condition false
18             1   - 50   - 33          if ($x && !$y) {
19            -0                            $x++;  # uncoverable statement
20                                          # uncoverable statement
21            -0                            z();
22                                      }
23                                      
24                                      # uncoverable branch true
25                                      # uncoverable condition right
26                                      # uncoverable condition false
27             1   - 50   - 33          if (!$x && $y) {
28                                          # uncoverable statement count:1
29                                          # uncoverable statement count:2
30            -0                            b(); b();
              -0                        
31                                      }
32                                      
33                                      sub z {
34                                          # uncoverable subroutine
35            -0                   -0       $y++; # uncoverable statement
36                                      }
37                                      
38                                      # uncoverable branch false count:1
39                                      # uncoverable branch true  count:2
40                                      # uncoverable branch false count:2
41                                      # uncoverable condition left  count:1
42                                      # uncoverable condition right count:1
43                                      # uncoverable condition left  count:2
44                                      # uncoverable condition right count:2
45                                      # uncoverable condition true  count:2
46                                      # uncoverable condition false count:2
47             1   - 50   - 33          if ($x > 0 && $y > 0) {
                   -  0   -  0          
48             1                            $y++;
49                                      } elsif ($x < 2 && $y < 0) {
50            -0                            $y++; # uncoverable statement
51                                      } else {
52            -0                            $y++; # uncoverable statement
53                                      }
54                                      
55                                      # uncoverable statement
56                                      # uncoverable subroutine


Branches
--------

line  err      %   true  false   branch
----- --- ------ ------ ------   ------
18          - 50     -0      1   if ($x and not $y)
27          - 50     -0      1   if (not $x and $y)
47          - 50      1     -0   if ($x > 0 and $y > 0) { }
            -  0     -0     -0   elsif ($x < 2 and $y < 0) { }


Conditions
----------

and 3 conditions

line  err      %     !l  l&&!r   l&&r   expr
----- --- ------ ------ ------ ------   ----
18          - 33     -0      1     -0   $x and not $y
27          - 33      1     -0     -0   not $x and $y
47          - 33     -0     -0      1   $x > 0 and $y > 0
            -  0     -0     -0     -0   $x < 2 and $y < 0


Uncovered Subroutines
---------------------

Subroutine Count Location            
---------- ----- --------------------
z             -0 tests/uncoverable:35