Condition Coverage

blib/lib/CPAN/Distribution.pm
Criterion Covered Total %
condition 11 598 1.8


and 2 conditions

line l !l condition
1436 0 0 $CPAN::Frontend->myprint(join('', map({" $_\n";} @e))) and return
3923 0 0 $CPAN::Frontend->myprint(join('', map({" $_\n";} @e))) and return
4499 0 0 $CPAN::Frontend->mywarn("Could not run 'which ${binary}': $!\n") and return

and 3 conditions

line !l l&&!r l&&r condition
190 0 0 0 $self->{'make_test'} && $self->{'build_dir'} && (UNIVERSAL::can($self->{'make_test'}, 'failed') ? !$self->{'make_test'}->failed : $self->{'make_test'} =~ /^YES/) && (!$self->{'install'} || $self->{'install'}->failed)
210 0 0 0 exists $self->{'incommandcolor'} and $color == 1
0 0 0 exists $self->{'incommandcolor'} and $color == 1 and $self->{'incommandcolor'} == $color
343 0 0 0 exists $self->{'build_dir'} and -d $self->{'build_dir'}
354 0 0 0 exists $self->{'build_dir'} and not -d $self->{'build_dir'}
364 0 0 0 exists $self->{'unwrapped'} and UNIVERSAL::can($self->{'unwrapped'}, 'failed') ? $self->{'unwrapped'}->failed : $self->{'unwrapped'} =~ /^NO/
405 0 0 0 $self->{'build_dir'} and -d $self->{'build_dir'}
418 0 0 0 exists $self->{'writemakefile'} and ref $self->{'writemakefile'}
0 0 0 exists $self->{'writemakefile'} and ref $self->{'writemakefile'} and $self->{'writemakefile'}->can('failed')
0 0 0 exists $self->{'writemakefile'} and ref $self->{'writemakefile'} and $self->{'writemakefile'}->can('failed') and $self->{'writemakefile'}->failed
556 0 0 0 @readdir == 1 and -d $readdir[0]
586 0 0 0 $CPAN::META->has_usable('Errno') && defined &Errno::EEXIST
592 0 0 0 defined $eexist and $! != $eexist
674 0 0 0 $CPAN::DEBUG and $early_yaml
704 0 0 0 $@ and ref $@
0 0 0 $@ and ref $@ and $@->isa('CPAN::Exception::RecursiveDependency')
759 0 0 0 $@ and ref $@
0 0 0 $@ and ref $@ and $@->isa('CPAN::Exception::RecursiveDependency')
819 0 0 0 $self->{'build_dir'} and $CPAN::Config->{'build_dir_reuse'}
833 0 0 0 defined $dir and length $dir
900 0 0 0 $patchbin and length $patchbin
932 0 0 0 $patches_dir and not 'File::Spec'->file_name_is_absolute($patch)
1006 0 0 0 $CPAN::Config->{'applypatch'} and /\#\#\#\# ApplyPatch data follows \#\#\#\#/
1105 0 0 0 @dirs and @files
1126 0 0 0 $state eq 'poddir' and /^=head\d\s+(\S+)/
1191 0 0 0 $rv != Module::Signature::SIGNATURE_OK() and $rv != Module::Signature::SIGNATURE_MISSING()
1693 0 0 0 $method and $phase eq $method
1697 0 0 0 substr($self->id, -1, 1) eq '.' and $att =~ /(unwrapped|build_dir|archived)/
1702 0 0 0 $att eq 'build_dir' and $self->{'build_dir'}
0 0 0 $att eq 'build_dir' and $self->{'build_dir'} and $CPAN::META->{'is_tested'}
1709 0 0 0 $att eq 'make_test' and $self->{'make_test'}
0 0 0 $att eq 'make_test' and $self->{'make_test'} and $self->{'make_test'}{'COMMANDID'}
0 0 0 $att eq 'make_test' and $self->{'make_test'} and $self->{'make_test'}{'COMMANDID'} and $self->{'make_test'}{'COMMANDID'} == $CPAN::CurrentCommandId
1725 0 0 0 $method and $method =~ /make|test|install/
1754 0 0 0 $self->cpan_comment and $self->cpan_comment =~ /isa_perl\(.+?\)/
1811 0 0 0 not $self->{'force_update'} and exists $self->{'signature_verify'}
0 0 0 not $self->{'force_update'} and exists $self->{'signature_verify'} and UNIVERSAL::can($self->{'signature_verify'}, 'failed') ? $self->{'signature_verify'}->failed : $self->{'signature_verify'} =~ /^NO/
1866 0 0 0 exists $ENV{'PERL_USE_UNSAFE_INC'} && defined $ENV{'PERL_USE_UNSAFE_INC'}
1956 0 0 0 $Config::Config{'d_alarm'} and $Config::Config{'d_alarm'} eq 'define'
2017 0 0 0 not defined $ret and $self->{'writemakefile'}
0 0 0 not defined $ret and $self->{'writemakefile'} and $self->{'writemakefile'}->failed
2046 0 0 0 $^O eq 'VMS' and -f 'descrip.mms' || -f 'Build.com'
2121 0 0 0 $self->called_for ne $self->id and not $self->{'force_update'}
2182 0 0 0 exists $ENV{'PERL_USE_UNSAFE_INC'} && defined $ENV{'PERL_USE_UNSAFE_INC'}
2238 0 0 0 $^O eq 'VMS' and -f 'Build.com'
2262 0 0 0 $expect_model and @{$expect_model->{'talk'};}
2441 0 0 0 $CPAN::META->has_inst('CPAN::Kwalify') and $CPAN::META->has_inst('Kwalify')
2554 0 0 0 exists $self->{'negative_prefs_cache'} and $self->{'negative_prefs_cache'} != $CPAN::CurrentCommandId
2599 0 0 0 $prefs and exists $prefs->{$phase}
0 0 0 $prefs and exists $prefs->{$phase} and exists $prefs->{$phase}{'args'}
0 0 0 $prefs and exists $prefs->{$phase} and exists $prefs->{$phase}{'args'} and $prefs->{$phase}{'args'}
2767 0 0 0 $optional and $self->is_locally_optional(undef, $prereq)
2883 0 0 0 -f 'Build.PL' and not -f 'File::Spec'->catfile($self->{'build_dir'}, 'Makefile.PL')
0 0 0 -f 'Build.PL' and not -f 'File::Spec'->catfile($self->{'build_dir'}, 'Makefile.PL') and not $merged->requirements_for_module('Module::Build')
0 0 0 -f 'Build.PL' and not -f 'File::Spec'->catfile($self->{'build_dir'}, 'Makefile.PL') and not $merged->requirements_for_module('Module::Build') and not $CPAN::META->has_inst('Module::Build')
2976 0 0 0 $sufficient and !defined($need_version) || $need_version eq '0' || $need_version eq 'undef'
3003 0 0 0 $inst_file and $available_file eq $inst_file
0 0 0 $inst_file and $available_file eq $inst_file and $nmo->inst_deprecated
0 0 0 $self->{'reqtype'} and $self->{'reqtype'} =~ /^(r|c)$/
0 0 0 $self->{'reqtype'} and $self->{'reqtype'} =~ /^(r|c)$/ and exists $prereq_pm->{'requires'}{$need_module} || exists $prereq_pm->{'opt_requires'}{$need_module}
0 0 0 $self->{'reqtype'} and $self->{'reqtype'} =~ /^(r|c)$/ and exists $prereq_pm->{'requires'}{$need_module} || exists $prereq_pm->{'opt_requires'}{$need_module} and $nmo
0 0 0 $self->{'reqtype'} and $self->{'reqtype'} =~ /^(r|c)$/ and exists $prereq_pm->{'requires'}{$need_module} || exists $prereq_pm->{'opt_requires'}{$need_module} and $nmo and not $inst_file
3012 0 0 0 $fulfills_all_version_rqs and $nmo->id =~ /^CPANPLUS(?:::Dist::Build)$/
3033 0 0 0 $need_distro->{'install'} and $need_distro->{'install'}->failed
0 0 0 $need_distro->{'install'} and $need_distro->{'install'}->failed and $need_distro->{'install'}->text =~ /is only/
3106 0 0 0 $nosayer eq 'make_test' and $do->{'make_test'}{'COMMANDID'} != $CPAN::CurrentCommandId
3244 28 0 0 $meta_file eq 'META.yml' and $meta->generated_by =~ /ExtUtils::MakeMaker version ([\d\._]+)/
3267 0 0 0 defined $yaml and !ref($yaml) || ref $yaml ne 'HASH'
3273 0 0 0 $CPAN::DEBUG and $yaml
3279 0 0 0 defined $yaml->{'dynamic_config'} and not $yaml->{'dynamic_config'}
3321 0 0 8 $meta_obj and not $meta_obj->dynamic_config
3356 0 0 0 ref $req eq 'HASH' and %$req
3358 0 0 0 $yaml->{'generated_by'} and $yaml->{'generated_by'} =~ /ExtUtils::MakeMaker version ([\d\._]+)/
3373 0 0 0 $k =~ /[A-Za-z]/ and $v =~ /[A-Za-z]/
0 0 0 $k =~ /[A-Za-z]/ and $v =~ /[A-Za-z]/ and $CPAN::META->exists('CPAN::Module', $v)
3403 0 0 0 -f $makefile and $fh = 'FileHandle'->new("<$makefile\000")
3501 0 0 0 UNIVERSAL::can($self->{'make_test'}, 'commandid') and $self->{'make_test'}->commandid == $CPAN::CurrentCommandId
3546 0 0 0 -f $makefile and $fh = 'FileHandle'->new("<$makefile\000")
3633 0 0 0 exists $ENV{'PERL_USE_UNSAFE_INC'} && defined $ENV{'PERL_USE_UNSAFE_INC'}
3691 0 0 0 $CPAN::Config->{'trust_test_report_history'} and $CPAN::META->has_inst('CPAN::Reporter::History')
0 0 0 $CPAN::Config->{'trust_test_report_history'} and $CPAN::META->has_inst('CPAN::Reporter::History') and $have_tested_fcn = 'CPAN::Reporter::History'->can('have_tested')
3726 0 0 0 $^O eq 'VMS' and -e 'Build.com'
3746 0 0 0 $expect_model and @{$expect_model->{'talk'};}
3853 0 0 0 $available_version and not 'CPAN::Version'->vlt($available_version, $self->{'prereq_pm'}{$m})
0 0 0 $available_file and !$self->{'prereq_pm'}{$m} || $self->{'prereq_pm'}{$m} == 0
3913 0 0 0 exists $self->{'writemakefile'} and $self->{'writemakefile'}->failed
3921 0 0 0 exists $self->{'make_clean'} and $self->{'make_clean'} eq 'YES'
3986 0 0 0 $self->prefs->{'disabled'} and not $self->{'force_update'}
4145 0 0 0 exists $CPAN::HandleConfig::keys{'mbuild_install_build_command'} && $CPAN::Config->{'mbuild_install_build_command'}
4195 0 0 0 exists $ENV{'PERL_USE_UNSAFE_INC'} && defined $ENV{'PERL_USE_UNSAFE_INC'}
4242 0 0 0 $CPAN::Config->{'cleanup_after_install'} and not $self->is_dot_dist
0 0 0 $CPAN::Config->{'cleanup_after_install'} and not $self->is_dot_dist and not $self->is_being_sponsored
4260 0 0 0 $makeout =~ /permission/s and $> > 0
0 0 0 $makeout =~ /permission/s and $> > 0 and !$mimc || $mimc eq 'CPAN::HandleConfig'->prefs_lookup($self, 'make')
4339 0 0 0 $allow_down eq 'yes' and $allow_outdd eq 'yes'
4342 0 0 0 $allow_outdd ne 'yes' and not $CPAN::META->has_inst('CPAN::DistnameInfo')
4349 0 0 0 $allow_down eq 'yes' and $allow_outdd eq 'yes'
4413 0 0 0 @outdd and $allow_outdd ne 'yes'
4504 0 0 0 $CPAN::DEBUG and $out
4742 0 0 0 $self->prefs->{'patches'} and @{$self->prefs->{'patches'};}
0 0 0 $self->prefs->{'patches'} and @{$self->prefs->{'patches'};} and $self->{'patched'}
4774 0 0 0 not $format and $CPAN::META->has_inst('JSON::PP')

or 2 conditions

line l !l condition
202 0 0 shift() || 0
203 0 0 shift() || 0
204 0 0 shift() || []
211 0 0 $CPAN::MAX_RECURSION ||= 0
275 0 0 $self->{'CONTAINSMODS'} ||= {}
394 0 0 $ENV{'PERLLIB'} || ''
658 0 0 $yaml || 'undef'
673 0 0 $early_yaml || 'UNDEF'
680 0 0 $early_yaml || undef
893 0 0 $patches ||= ''
1047 0 0 $self->called_for || 'unknown'
1327 0 0 $ENV{'CPAN_SHELL_LEVEL'} || 0
1333 0 0 $ENV{'PERLLIB'} || ''
1414 0 0 $CPAN::Config->{'pager'} || 'cat'
1434 0 0 $self->{'CHECKSUM_STATUS'} ||= ''
1507 0 0 $sloppy ||= 0
1834 0 0 $err ||= 'Had some problem writing Makefile'
1862 0 0 $ENV{'PERLLIB'} || ''
1890 0 0 $ENV{'PERL_AUTOINSTALL'} || ''
1891 0 0 $ENV{'PERL_EXTUTILS_AUTOINSTALL'} || ''
1902 0 0 $ENV{'PERL_AUTOINSTALL'} ||= '--defaultdeps'
1903 0 0 $ENV{'PERL_EXTUTILS_AUTOINSTALL'} ||= '--defaultdeps'
1912 0 0 $ENV{'PERL5_CPAN_IS_EXECUTING'} || ''
2027 0 0 $@ || 'Unknown error'
2178 0 0 $ENV{'PERLLIB'} || ''
2326 0 0 $expect_model->{'mode'} ||= 'deterministic'
2342 0 0 $expect_model->{'timeout'} || 5
2404 0 0 $expect_model->{'timeout'} || 15
2567 0 0 $prefs ||= ''
2650 0 0 'CPAN::HandleConfig'->prefs_lookup($self, 'make') || $Config::Config{'make'} || 'make'
2660 0 0 'CPAN::HandleConfig'->prefs_lookup($self, 'make') || $CPAN::Config->{'make'} || $Config::Config{'make'} || 'make'
2695 0 0 $opt || 0
2872 0 0 $self->prefs->{'depends'} || {}
2898 0 0 $self->prereq_pm || {}
2952 0 0 $nmo->inst_file || ''
2953 0 0 $nmo->available_file || ''
3050 0 0 $self->{'sponsored_mods'}{$need_module} ||= 0
3271 0 0 $yaml || 'UNDEF'
3316 0 0 $self->{'writemakefile'} || ''
0 0 $self->{'modulebuild'} || ''
3351 0 0 $yaml->{'requires'} || {}
3352 0 0 $yaml->{'build_requires'} || {}
3354 0 0 $yaml->{'recommends'} || {}
3457 0 0 $bphash->{'requires'} || {}
3458 0 0 $bphash->{'build_requires'} || {}
3481 0 0 $self->{'badtestcnt'} ||= 0
3537 0 0 $self->{'writemakefile'} || ''
0 0 $self->{'modulebuild'} || ''
3628 0 0 $ENV{'PERLLIB'} || ''
4163 0 0 $brip ||= 'ask/yes'
4165 0 0 $self->{'reqtype'} ||= 'c'
4190 0 0 $ENV{'PERLLIB'} || ''
4336 0 0 $allow_down ||= 'ask/yes'
4338 0 0 $allow_outdd ||= 'ask/yes'
4521 0 0 $CPAN::Config->{'lynx'} || undef
4588 0 0 $CPAN::Config->{'pager'} || 'cat'
4834 0 0 $rep->{'archname'} || $rep->{'platform'} || '????'
4835 0 0 $rep->{'action'} || $rep->{'status'} || '????'
4836 0 0 $rep->{'ostext'} || ucfirst $rep->{'osname'} || '????'

or 3 conditions

line l !l&&r !l&&!r condition
30 0 0 0 $instance{$plugin} ||= $plugin_proper->new(@args)
73 0 0 1 $s =~ tr[/][] == 1 or not $s =~ m[[A-Z]/[A-Z-0-9]{2}/[A-Z-0-9]{2,}/]
75 0 0 0 $CPAN::META->{'LOCK'} or $$CPAN::Have_warned{"$s is unlocked"}++
327 0 0 0 $self->{'CALLED_FOR'} || $self->pretty_id
425 0 0 0 $packagedir ||= $self->{'build_dir'}
497 0 0 0 $CPAN::META->{'cachemgr'} ||= 'CPAN::CacheMgr'->new
578 0 0 0 not $userid or $userid eq 'N/A'
592 0 0 0 defined $eexist and $! != $eexist or $suffix == 999
643 41 0 0 $has_cm or $has_pcm
645 41 0 0 $has_cm or $has_pcm
660 0 0 0 $yaml ||= 'File::Spec'->catfile($build_dir, 'META.yml')
675 0 0 0 not ref $early_yaml or ref $early_yaml ne 'HASH'
1317 0 0 0 $dir ||= $self->dir
1363 0 0 0 $CPAN::Config->{'cvsroot'} || $ENV{'CVSROOT'}
1365 0 0 0 $CPAN::Config->{'cvs_site_perl'} || $ENV{'CVS_SITE_PERL'}
1538 0 0 0 not ref $cksum or ref $cksum ne 'HASH'
1693 0 0 0 $fforce or $method and $phase eq $method
1719 0 0 0 $ldebug or $CPAN::DEBUG
1796 0 0 0 not $self->{'archived'} or $self->{'archived'} eq 'NO'
1801 0 0 0 not $self->{'unwrapped'} or UNIVERSAL::can($self->{'unwrapped'}, 'failed') ? $self->{'unwrapped'}->failed : $self->{'unwrapped'} =~ /^NO/
2026 0 0 0 not defined $output or $@
2046 0 0 0 -f 'Makefile' or -f 'Build'
0 0 0 -f 'descrip.mms' || -f 'Build.com'
0 0 0 -f 'Makefile' or -f 'Build' or $^O eq 'VMS' and -f 'descrip.mms' || -f 'Build.com'
2238 0 0 0 -f 'Build' or $^O eq 'VMS' and -f 'Build.com'
2292 0 0 0 $self->{'writemakefile'} ||= 'CPAN::Distrostatus'->new('YES')
2636 0 0 0 $_make_phase_arg ||= $CPAN::Config->{$what}
2682 0 0 0 $prereq_pm ||= $self->{'prereq_pm'}
2687 0 0 0 $nmo ||= $CPAN::META->instance('CPAN::Module', $prereq)
2689 0 0 0 not $av or 'CPAN::Version'->vlt($av, $prereq_pm->{$rt}{$prereq})
2807 0 0 0 not ref $optf or ref $optf ne 'HASH'
2812 0 0 0 not ref $wantf or ref $wantf ne 'ARRAY'
2975 0 0 0 $inst_file || (exists $prereq_pm->{'requires'}{$need_module} ? 0 : $available_file)
2976 0 0 0 !defined($need_version) || $need_version eq '0' || $need_version eq 'undef'
3003 0 0 0 exists $prereq_pm->{'requires'}{$need_module} || exists $prereq_pm->{'opt_requires'}{$need_module}
3170 0 0 0 !$self->{'mandatory'} || $self->is_locally_optional($prereq_pm, $need_module)
3263 0 0 0 $@ or not $yaml
3267 0 0 0 !ref($yaml) || ref $yaml ne 'HASH'
3306 8 0 0 $self->{'writemakefile'} or $self->{'modulebuild'}
3313 8 0 0 -f $makefile or -f $buildfile
3396 8 0 0 $req or $breq
3431 0 0 0 not $prevn or 'CPAN::Version'->vlt($prevn, $n)
3439 8 0 0 $req or $breq
3464 8 0 0 $req or $breq
8 0 0 $req or $breq or $opt_req
0 0 0 $req or $breq or $opt_req or $opt_breq
3531 0 0 0 $self->{'writemakefile'} or $self->{'modulebuild'}
3726 0 0 0 -e 'Build' or $^O eq 'VMS' and -e 'Build.com'
3853 0 0 0 !$self->{'prereq_pm'}{$m} || $self->{'prereq_pm'}{$m} == 0
4022 0 0 0 $goto_do->{'mandatory'} ||= $self->{'mandatory'}
4023 0 0 0 $goto_do->{'reqtype'} ||= $self->{'reqtype'}
4160 0 0 0 $^O eq 'MSWin32' || $^O eq 'VMS'
4260 0 0 0 !$mimc || $mimc eq 'CPAN::HandleConfig'->prefs_lookup($self, 'make')
4642 0 0 0 $CPAN::Config->{'http_proxy'} || $ENV{'http_proxy'}
4644 0 0 0 $CPAN::Config->{'no_proxy'} || $ENV{'no_proxy'}
4774 0 0 0 $CPAN::META->has_inst('YAML::XS') or $CPAN::META->has_inst('YAML::Syck')