Branch Coverage

blib/lib/Parse/PMFile.pm
Criterion Covered Total %
branch 138 240 57.5


line true false branch
21 233 4 unless $opts
34 232 6 unless ($self->_version_from_meta_ok)
36 0 195 unless (eval { do { $version = $self->_parse_version; 1 } })
42 0 195 if ($self->{'VERSION'} =~ /^\{.*\}$/) { }
5 190 elsif ($self->{'VERSION'} =~ /[_\s]/ and not $self->{'ALLOW_DEV_VERSION'} and not $ALLOW_DEV_VERSION) { }
63 0 196 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 190 if ($module)
86 0 6 if (lc $module eq lc $package and $module ne $package)
97 0 196 if ($pp->{'version'} and $pp->{'version'} =~ /^\{.*\}$/)
99 0 0 if ($err->{'x_normalize'}) { }
0 0 elsif ($err->{'openerr'}) { }
142 0 388 if (not defined $_ or /^\s*$/ or /\s/)
147 3 193 unless ($self->_version_ok($pp))
157 3 193 wantarray && %errors ? :
162 3 193 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 115 117 if ($self->{'FORK'} or $Parse::PMFile::FORK)
201 0 115 unless defined $pid
203 78 154 if ($pid) { }
205 78 0 if (open my $fh, "<", $tmpfile)
216 154 0 unless ($self->{'UNSAFE'} or $Parse::PMFile::UNSAFE)
232 0 154 if $self->{'UNSAFE'} or $Parse::PMFile::UNSAFE
235 154 0 $comp ? :
237 21 133 if ($@)
240 21 0 if (ref $err) { }
241 21 0 if ($err->{'line'} =~ /([\$*])([\w\:\']*)\bVERSION\b.*?\=(.*)/)
244 21 0 if $err->{'line'} =~ /use\s+version\b|version\->|qv\(/
245 21 0 $comp ? :
246 0 21 if $sigil eq "*" and ref $v
248 0 21 if ($@ or not $v)
259 154 0 if (defined $v) { }
261 21 133 if ref($v) =~ /^version(::vpp)?$/
265 37 117 if ($self->{'FORK'} or $Parse::PMFile::FORK) { }
272 0 117 if defined $v and not length $v
273 117 0 if $comp
278 78 117 if $self->{'FORK'} || $FORK and -e $tmpfile
285 0 138 if $self->{'UNSAFE'} or $UNSAFE
292 0 138 if ($INC{'version/vxs.pm'})
301 0 138 if ($INC{'version/vpp.pm'})
307 0 0 unless ($used_version_in_safe)
312 0 0 unless ($restored)
338 138 0 if (not $restored)
356 0 196 unless open my $fh, "<", "$pmfile"
364 0 5706 $pline =~ /^=cut/ ? :
0 5706 $pline =~ /^=(?!cut)/ ? :
366 0 5706 if $inpod
367 0 5706 if substr($pline, 0, 4) eq "=cut"
370 1202 4504 if $pline =~ /^\s*$/
371 9 4495 if ($pline =~ /^__(?:END|DATA)__\b/ and not $pmfile =~ /\.PL$/)
380 205 4290 if ($pline =~ / # (.*) # takes too much time if $pline is long #(?
392 0 205 if ($pkg eq "DB")
400 205 4290 if ($pkg) { }
405 0 205 unless $pkg =~ /^[A-Za-z]/
406 0 205 unless $pkg =~ /\w$/
407 6 199 if $pkg eq "main"
412 0 199 if length $pkg > 128
416 193 6 if ($self->_simile($pmfile, $pkg)) { }
418 6 187 if ($self->_version_from_meta_ok) { }
420 6 0 if (exists $provides->{$pkg})
421 6 0 if (defined $provides->{$pkg}{'version'}) { }
423 4 2 if ($v =~ /[_\s]/ and not $self->{'ALLOW_DEV_VERSION'} and not $ALLOW_DEV_VERSION)
427 0 2 unless (eval { do { $version = $self->_normalize_version($v); 1 } })
438 19 168 if (defined $strict_version) { }
441 168 0 defined $version ? :
444 19 168 if ($version eq 'undef') { }
445 0 19 unless defined $ppp->{$pkg}{'version'}
452 0 168 if $version > $ppp->{$pkg}{'version'} or $version gt $ppp->{$pkg}{'version'}
462 6 0 unless defined $ppp->{$pkg}{'version'} and length $ppp->{$pkg}{'version'}
482 0 154 unless open FH, $parsefile
485 0 437 /^=cut/ ? :
0 437 /^=(?!cut)/ ? :
486 0 437 if $inpod or /^\s*#/
487 3 434 if /^__(?:END|DATA)__\b/
490 6 428 if (my($ver) = /package \s+ \S+ \s+ (\S+) \s* [;{]/x)
493 3 3 if version::is_lax($ver)
497 297 134 unless /(?<=])\=(?![=>])/
512 21 113 if ($@ or not defined $result)
524 17 113 unless defined $result
525 6 124 if (ref($result) =~ /^version(?:::vpp)?\b/)
540 9 190 if ($self->{'META_CONTENT'}) { }
543 3 6 if (ref $no_index eq 'HASH') { }
549 0 3 unless my $v = $no_index->{$k}
551 3 0 if (ref $v eq 'ARRAY') { }
554 3 0 if ($ppp =~ /^$ve$rest/) { }
563 0 0 if ($ppp =~ /^$v$rest/) { }
593 6 193 unless ($ret)
595 0 6 if lc $file eq "version"
604 0 197 unless defined $v
609 19 178 if $v eq "undef"
610 0 178 if $v =~ /^\{.*\}$/
613 10 168 if ($v =~ /_/)
620 0 168 unless (version::is_lax($v))
625 0 168 if ($@)
630 27 141 if ($vv eq $v) { }
634 0 141 if ($forced eq $vv) { }
0 141 elsif ($forced =~ /^v(.+)/) { }
641 141 0 if ($forced == $vv)
655 141 0 if ($v =~ /^(\+?)(\d*)(\.(\d*))?/ and defined $2 && length $2 || defined $4 && length $4)
665 141 0 defined $2 ? :
666 141 0 defined $3 ? :
676 194 237 if exists $self->{'VERSION_FROM_META_OK'}
681 231 6 unless $c->{'provides'}
685 0 6 defined $c->{'generated_by'} ? :
686 6 0 unless $mb_v
689 0 0 if $mb_v eq "0.250.0"
691 0 0 if ($mb_v >= "0.19" and $mb_v < "0.26" and not keys %{$$c{"provides"};})
705 0 797 if $level <= (ref $self && $self->{'VERBOSE'} || $VERBOSE)
719 0 0 if $l eq $r
726 0 0 unless tr/.// > 1 or /^v/
731 0 0 if ($l =~ /^v/ <=> $r =~ /^v/)
733 0 0 if /^v/
740 0 0 if ($] >= "5.006" and $l =~ /^v/ and $r =~ /^v/)
781 0 0 unless $n =~ s/^v//
796 0 0 unless $mantissa =~ s/(\d{1,3})//
809 141 0 if defined $1 and length $1 > 0
814 0 0 if ($] < "5.006")