Branch Coverage

blib/lib/Panda/Install.pm
Criterion Covered Total %
branch 81 182 44.5


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') { }
177 0 94 unless $cfile =~ s/\.xs$/.c/
184 3 31 $params->{'C'} ? :
204 3 31 $params->{'H'} ? :
213 0 34 if @xsi_files
219 34 0 unless my $clib = delete $params->{'CLIB'}
220 0 0 unless ref $clib eq 'ARRAY'
221 0 0 unless @$clib
227 0 0 unless ($build_cmd)
229 0 0 if $info->{'GMAKE'} and $^O eq 'freebsd'
240 0 0 if $clean_cmd
248 24 10 unless my $payload = delete $params->{'PAYLOAD'}
255 34 0 unless my $bin_deps = delete $params->{'BIN_DEPS'}
256 0 0 unless ref $bin_deps eq 'ARRAY'
266 0 0 if $module =~ s/^-//
268 0 0 if $seen->{$module}++
279 0 0 unless $module =~ /([^:]+)$/
283 0 0 unless -f $lib_path
290 0 0 if ($info->{'INCLUDE'})
300 0 0 if (my $add_libs = $info->{'LIBS'})
301 0 0 unless @$add_libs
302 0 0 unless my $libs = $params->{'LIBS'}
303 0 0 unless ref $libs eq 'ARRAY'
304 0 0 if ($libs and @$libs) { }
318 0 0 if (my $passthrough = $info->{'PASSTHROUGH'})
322 0 0 if (my $typemaps = $info->{'TYPEMAPS'})
331 0 0 if $info->{'CPLUS'} and !$params->{'CPLUS'} || $params->{'CPLUS'} < $info->{'CPLUS'}
333 0 0 if (my $bin_share = $params->{'BIN_SHARE'} and not $stop_sharing)
340 33 1 unless my $bin_share = delete $params->{'BIN_SHARE'}
345 1 0 if scalar keys %$typemaps
350 1 0 if scalar keys %$include
352 0 1 if $bin_share->{'LIBS'} and ref $bin_share->{'LIBS'} ne 'ARRAY'
353 0 1 if $bin_share->{'PASSTHROUGH'} and ref $bin_share->{'PASSTHROUGH'} ne 'ARRAY'
355 0 1 if (my $list = $params->{'MODULE_INFO'}{'BIN_DEPENDENT'})
356 0 0 if @$list
359 0 1 if (my $vinfo = $params->{'MODULE_INFO'}{'BIN_DEPS'})
360 0 0 if %$vinfo
363 0 1 unless %$bin_share
376 34 0 unless $params->{'MODULE_INFO'}{'BIN_DEPS'}
377 34 0 unless @deps
387 0 34 unless $params->{'VERSION_FROM'}
389 34 0 unless my $list = $params->{'MODULE_INFO'}{'BIN_DEPENDENT'}
390 0 0 unless @$list
391 0 0 unless my $installed_version = Panda::Install::Payload::module_version($module)
393 0 0 unless my $new_version = $mm->parse_version($params->{'VERSION_FROM'})
394 0 0 if $installed_version eq $new_version
409 0 0 unless my $info = Panda::Install::Payload::module_info($module)
414 0 0 unless @{$info->{'BIN_DEPENDENT'};}
422 0 12 unless %$map
436 45 1 $xs && %$xs ? :
445 0 34 unless defined &{"${from}::$method";}
452 90 98 unless $dir
456 0 98 unless opendir my $dh, $dir
458 196 220 if $entry =~ /^\./
460 183 37 unless -d $path
470 3 424 unless -f $file
471 0 424 if $file =~ /\#/
472 0 424 if $file =~ /~$/
473 0 424 if $file =~ /,v$/
474 0 424 if $file =~ /\.swp$/
482 11 7 if (-f $source)
483 2 9 if $dest =~ m([/\\]$)
489 0 7 unless -d $source
506 0 357 if $_ eq $val
513 12 34 if ($list)
514 8 4 unless ref $list eq 'ARRAY'
521 0 38 unless $_[1]
523 2 36 $_[0] ? :
593 0 0 unless ($INC{'ExtUtils/MakeMaker.pm'})
606 0 1 if (-e $file)
608 0 0 unless ($mode & 128)
614 0 1 unless (open my $fh, '>', $file)
622 0 1 if $restore_mode