Branch Coverage

blib/lib/Panda/Install.pm
Criterion Covered Total %
branch 83 184 45.1


line true false branch
38 0 34 if $postamble and not ref $postamble
40 34 0 unless defined $postamble->{'my'}
45 0 34 unless $params{'NAME'}
46 33 0 unless ($params{'ALL_FROM'} or $params{'VERSION_FROM'} or $params{'ABSTRACT_FROM'})
52 34 0 if (my $package_file = delete $params{'ALL_FROM'})
76 0 34 if $params{'BIN_SHARE'} and not %{$params{'BIN_SHARE'};}
80 1 33 if $val and ref $val ne 'ARRAY'
85 2 4 if $val and ref $val ne 'ARRAY' and ref $val ne 'HASH'
89 0 34 if $params{'TYPEMAPS'} and ref $params{'TYPEMAPS'} ne 'ARRAY'
107 3 31 if (my $use_cpp = delete $params{'CPLUS'})
113 1 2 if $cppv > 1
121 0 34 unless defined $params{'OBJECT'}
123 0 34 if (my $shared_libs = $params{'MODULE_INFO'}{'SHARED_LIBS'} and $^O ne 'darwin')
126 0 0 if @$shared_libs
133 1 0 unless ($params{'C'} and @{$params{'C'};} or $params{'OBJECT'} and @{$params{'OBJECT'};} or $params{'XS'} and scalar keys %{$params{'XS'};})
142 0 34 if $params->{'PM'}
150 34 34 unless -d $dir
164 6 28 if ($params->{'XS'}) { }
165 2 4 if (ref $params->{'XS'} eq 'HASH') { }
176 1 93 if $xs_files->{$xsfile}
178 0 93 unless $cfile =~ s/\.xs$/.c/
185 3 31 $params->{'C'} ? :
205 3 31 $params->{'H'} ? :
214 0 34 if @xsi_files
220 34 0 unless my $clib = delete $params->{'CLIB'}
221 0 0 unless ref $clib eq 'ARRAY'
222 0 0 unless @$clib
228 0 0 unless ($build_cmd)
230 0 0 if $info->{'GMAKE'} and $^O eq 'freebsd'
241 0 0 if $clean_cmd
249 24 10 unless my $payload = delete $params->{'PAYLOAD'}
256 34 0 unless my $bin_deps = delete $params->{'BIN_DEPS'}
257 0 0 unless ref $bin_deps eq 'ARRAY'
267 0 0 if $module =~ s/^-//
269 0 0 if $seen->{$module}++
280 0 0 unless $module =~ /([^:]+)$/
284 0 0 unless -f $lib_path
291 0 0 if ($info->{'INCLUDE'})
301 0 0 if (my $add_libs = $info->{'LIBS'})
302 0 0 unless @$add_libs
303 0 0 unless my $libs = $params->{'LIBS'}
304 0 0 unless ref $libs eq 'ARRAY'
305 0 0 if ($libs and @$libs) { }
319 0 0 if (my $passthrough = $info->{'PASSTHROUGH'})
323 0 0 if (my $typemaps = $info->{'TYPEMAPS'})
332 0 0 if $info->{'CPLUS'} and !$params->{'CPLUS'} || $params->{'CPLUS'} < $info->{'CPLUS'}
334 0 0 if (my $bin_share = $params->{'BIN_SHARE'} and not $stop_sharing)
341 33 1 unless my $bin_share = delete $params->{'BIN_SHARE'}
346 1 0 if scalar keys %$typemaps
351 1 0 if scalar keys %$include
353 0 1 if $bin_share->{'LIBS'} and ref $bin_share->{'LIBS'} ne 'ARRAY'
354 0 1 if $bin_share->{'PASSTHROUGH'} and ref $bin_share->{'PASSTHROUGH'} ne 'ARRAY'
356 0 1 if (my $list = $params->{'MODULE_INFO'}{'BIN_DEPENDENT'})
357 0 0 if @$list
360 0 1 if (my $vinfo = $params->{'MODULE_INFO'}{'BIN_DEPS'})
361 0 0 if %$vinfo
364 0 1 unless %$bin_share
377 34 0 unless $params->{'MODULE_INFO'}{'BIN_DEPS'}
378 34 0 unless @deps
388 0 34 unless $params->{'VERSION_FROM'}
390 34 0 unless my $list = $params->{'MODULE_INFO'}{'BIN_DEPENDENT'}
391 0 0 unless @$list
392 0 0 unless my $installed_version = Panda::Install::Payload::module_version($module)
394 0 0 unless my $new_version = $mm->parse_version($params->{'VERSION_FROM'})
395 0 0 if $installed_version eq $new_version
410 0 0 unless my $info = Panda::Install::Payload::module_info($module)
415 0 0 unless @{$info->{'BIN_DEPENDENT'};}
423 0 12 unless %$map
437 45 1 $xs && %$xs ? :
446 0 34 unless defined &{"${from}::$method";}
453 90 98 unless $dir
457 0 98 unless opendir my $dh, $dir
459 196 220 if $entry =~ /^\./
461 183 37 unless -d $path
471 3 424 unless -f $file
472 0 424 if $file =~ /\#/
473 0 424 if $file =~ /~$/
474 0 424 if $file =~ /,v$/
475 0 424 if $file =~ /\.swp$/
483 11 7 if (-f $source)
484 2 9 if $dest =~ m([/\\]$)
490 0 7 unless -d $source
507 0 396 if $_ eq $val
514 12 34 if ($list)
515 8 4 unless ref $list eq 'ARRAY'
522 0 38 unless $_[1]
524 2 36 $_[0] ? :
601 0 0 unless ($INC{'ExtUtils/MakeMaker.pm'})
614 0 1 if (-e $file)
616 0 0 unless ($mode & 128)
622 0 1 unless (open my $fh, '>', $file)
630 0 1 if $restore_mode