Branch Coverage

blib/lib/Parse/PMFile.pm
Criterion Covered Total %
branch 132 236 55.9


line true false branch
21 124 4 unless $opts
34 122 6 unless ($self->_version_from_meta_ok)
36 0 97 unless (eval { do { $version = $self->_parse_version; 1 } })
42 0 97 if ($self->{'VERSION'} =~ /^\{.*\}$/) { }
5 92 elsif ($self->{'VERSION'} =~ /[_\s]/ and not $self->{'ALLOW_DEV_VERSION'} and not $ALLOW_DEV_VERSION) { }
63 0 92 if (not $package =~ /^\w[\w\:\']*\w?\z/ && $package =~ /\w\z/ or $package =~ /:/ and not $package =~ /::/ or $package =~ /\w:\w/ or $package =~ /:::/)
74 0 0 if ($self->{'USERID'} and $self->{'PERMISSIONS'} and not $self->_perm_check($package))
82 6 86 if ($module)
86 0 6 if (lc $module eq lc $package and $module ne $package)
97 0 92 if ($pp->{'version'} and $pp->{'version'} =~ /^\{.*\}$/)
99 0 0 if ($err->{'x_normalize'}) { }
0 0 elsif ($err->{'openerr'}) { }
142 0 180 if (not defined $_ or /^\s*$/ or /\s/)
147 3 89 unless ($self->_version_ok($pp))
157 3 95 wantarray && %errors ? :
162 3 89 if length($pp->{'version'} || 0) > 16
170 0 0 unless $module
171 0 0 if defined $module->m and $module->m eq $userid
172 0 0 if defined $module->f and $module->f eq $userid
173 0 0 if defined $module->c and grep {$_ eq $userid;} @{$module->c;}
199 61 61 if ($self->{'FORK'} or $Parse::PMFile::FORK)
201 0 61 unless defined $pid
203 36 86 if ($pid) { }
205 36 0 if (open my $fh, '<', $tmpfile)
229 0 86 if $self->{'UNSAFE'} or $Parse::PMFile::UNSAFE
232 0 86 $self->{'UNSAFE'} || $Parse::PMFile::UNSAFE ? :
234 21 65 if ($@)
237 21 0 if (ref $err) { }
238 21 0 if ($err->{'line'} =~ /([\$*])([\w\:\']*)\bVERSION\b.*?\=(.*)/)
241 21 0 if $err->{'line'} =~ /use\s+version\b|version\->|qv\(/
242 0 21 $self->{'UNSAFE'} || $Parse::PMFile::UNSAFE ? :
243 0 21 if $sigil eq '*' and ref $v
245 0 21 if ($@ or not $v)
256 86 0 if (defined $v) { }
258 21 65 if ref($v) =~ /^version(::vpp)?$/
262 25 61 if ($self->{'FORK'} or $Parse::PMFile::FORK) { }
269 0 61 if defined $v and not length $v
275 36 61 if $self->{'FORK'} || $FORK and -e $tmpfile
282 0 82 if $self->{'UNSAFE'} or $UNSAFE
289 0 82 if ($INC{'version/vxs.pm'})
298 0 82 if ($INC{'version/vpp.pm'})
304 0 0 unless ($used_version_in_safe)
309 0 0 unless ($restored)
335 82 0 if (not $restored)
353 0 98 unless open my $fh, '<', "$pmfile"
361 0 5248 $pline =~ /^=cut/ ? :
0 5248 $pline =~ /^=(?!cut)/ ? :
363 0 5248 if $inpod
364 0 5248 if substr($pline, 0, 4) eq '=cut'
367 1106 4142 if $pline =~ /^\s*$/
368 9 4133 if ($pline =~ /^__(?:END|DATA)__\b/ and not $pmfile =~ /\.PL$/)
377 101 4032 if ($pline =~ / # (.*) # takes too much time if $pline is long #(?
389 0 101 if ($pkg eq 'DB')
397 101 4032 if ($pkg) { }
402 0 101 unless $pkg =~ /^[A-Za-z]/
403 0 101 unless $pkg =~ /\w$/
404 6 95 if $pkg eq 'main'
409 0 95 if length $pkg > 128
413 95 0 if ($self->_simile($pmfile, $pkg)) { }
415 6 89 if ($self->_version_from_meta_ok) { }
417 6 0 if (exists $provides->{$pkg})
418 6 0 if (defined $provides->{$pkg}{'version'}) { }
420 4 2 if ($v =~ /[_\s]/ and not $self->{'ALLOW_DEV_VERSION'} and not $ALLOW_DEV_VERSION)
424 0 2 unless (eval { do { $version = $self->_normalize_version($v); 1 } })
435 3 86 if (defined $strict_version) { }
438 86 0 defined $version ? :
441 3 86 if ($version eq 'undef') { }
442 0 3 unless defined $ppp->{$pkg}{'version'}
449 0 86 if $version > $ppp->{$pkg}{'version'} or $version gt $ppp->{$pkg}{'version'}
459 0 0 unless defined $ppp->{$pkg}{'version'} and length $ppp->{$pkg}{'version'}
479 0 86 unless open FH, $parsefile
482 0 257 /^=cut/ ? :
0 257 /^=(?!cut)/ ? :
483 0 257 if $inpod or /^\s*#/
484 3 254 if /^__(?:END|DATA)__\b/
487 6 248 if (my($ver) = /package \s+ \S+ \s+ (\S+) \s* [;{]/x)
490 3 3 if version::is_lax($ver)
494 171 80 unless /(?<=])\=(?![=>])/
509 21 59 if ($@ or not defined $result)
521 3 59 unless defined $result
522 6 56 if (ref($result) =~ /^version(?:::vpp)?\b/)
537 9 86 if ($self->{'META_CONTENT'}) { }
540 3 6 if (ref $no_index eq 'HASH') { }
546 0 3 unless my $v = $no_index->{$k}
548 3 0 if (ref $v eq 'ARRAY') { }
551 3 0 if ($ppp =~ /^$ve$rest/) { }
560 0 0 if ($ppp =~ /^$v$rest/) { }
590 0 95 unless ($ret)
592 0 0 if lc $file eq 'version'
601 0 99 unless defined $v
606 3 96 if $v eq 'undef'
607 0 96 if $v =~ /^\{.*\}$/
610 10 86 if ($v =~ /_/)
617 0 86 unless (version::is_lax($v))
622 0 86 if ($@)
627 27 59 if ($vv eq $v) { }
631 0 59 if ($forced eq $vv) { }
0 59 elsif ($forced =~ /^v(.+)/) { }
638 59 0 if ($forced == $vv)
652 59 0 if ($v =~ /^(\+?)(\d*)(\.(\d*))?/ and defined $2 && length $2 || defined $4 && length $4)
662 59 0 defined $2 ? :
663 59 0 defined $3 ? :
673 95 128 if exists $self->{'VERSION_FROM_META_OK'}
678 122 6 unless $c->{'provides'}
682 0 6 defined $c->{'generated_by'} ? :
683 6 0 unless $mb_v
686 0 0 if $mb_v eq '0.250.0'
688 0 0 if ($mb_v >= 0.19 and $mb_v < 0.26 and not keys %{$$c{'provides'};})
702 0 399 if $level <= (ref $self && $self->{'VERBOSE'} || $VERBOSE)
716 0 0 if $l eq $r
723 0 0 unless tr/.// > 1 or /^v/
728 0 0 if ($l =~ /^v/ <=> $r =~ /^v/)
730 0 0 if /^v/
737 0 0 if ($] >= 5.006 and $l =~ /^v/ and $r =~ /^v/)
778 0 0 unless $n =~ s/^v//
793 0 0 unless $mantissa =~ s/(\d{1,3})//
806 59 0 if defined $1 and length $1 > 0
811 0 0 if ($] < 5.006)