Condition Coverage

blib/lib/Module/Build/Base.pm
Criterion Covered Total %
condition 233 472 49.3


and 2 conditions

line l !l condition
4002 0 0 $old_parse_file = \&{"Pod::Simple::parse_file";} and local *{"Pod::Simple::parse_file";} = sub { my $self = shift(); $self->output_fh($_[1]) if $_[1]; $self->$old_parse_file($_[0]); }

and 3 conditions

line !l l&&!r l&&r condition
37 0 80 0 $self->{'action'} and $self->{'action'} ne "Build_PL"
185 538 0 8 defined $p->{'dist_author'} and not ref $p->{'dist_author'}
198 0 543 3 exists $p->{$_} and not ref $p->{$_}
211 0 90 78 ref $self and $self->verbose || !$self->quiet
215 3471 1323 23 ref $self and $self->verbose
219 0 790 0 ref $self and $self->debug
225 0 103 0 @_ and not $_[-1] =~ /\n$/
354 69 0 0 not ref $r and $r eq "auto"
486 0 0 0 defined $perl_src and length $perl_src
514 0 46 242 -f $thisperl and $proto->_perl_is_same($thisperl)
544 7 0 0 -x $file and not -d $file
549 0 0 0 -t STDIN && (-t STDOUT || !(-f STDOUT || -c STDOUT))
584 6 0 2 $self->_is_unattended and not @def
593 0 4 2 defined $ans and length $ans
607 2 1 1 $def and not $def =~ /^[yn]/i
847 1 3 4 defined $_[0] and not ref $_[0]
859 1 2 1 defined $_[0] and ref $_[0] ne "HASH"
1025 0 1 41614 defined($current = shift @in_stack) and $current->isa("Module::Build::Base")
1100 5 0 0 $p->{'dist_version_from'} and -e $p->{'dist_version_from'}
1150 20 121 0 $p->{$me} eq "stable" and $self->_is_dev_version
1485 0 3 8 $self->dist_name ne "Module-Build" and $self->auto_configure_requires
3 1 7 $self->dist_name ne "Module-Build" and $self->auto_configure_requires and not exists $p->{'configure_requires'}{'Module::Build'}
1520 80 0 0 $self->pureperl_only and $self->allow_pureperl
1582 0 0 5 !ref($status->{'have'}) && $status->{'have'} eq ''
1701 44 36 0 $spec and not defined $status{'have'}
1716 5 55 88 $op eq ">=" and not $version
1748 0 0 0 $status->{'have'} and "$status->{'have'}" ne ""
1815 0 0 0 $meta && $meta->{'prereqs'}{'configure'}{'requires'}{'Module::Build'}
2043 0 437 10 $specs and %$specs
2133 346 0 58 exists $args->{$key} and not $singular_argument{$key}
2180 0 1 0 @$argv and $argv->[0] =~ /^\d+$/
2196 0 0 0 /^($opt_re)$/ and not defined $action
2215 561 0 0 exists $args{$_} and not ref $args{$_}
2295 443 0 0 $ENV{'HOMEDRIVE'} and $ENV{'HOMEPATH'}
2323 443 0 0 exists $ENV{'MODULEBUILDRC'} and $ENV{'MODULEBUILDRC'} eq "NONE"
443 0 0 exists $ENV{'MODULEBUILDRC'} and -e $ENV{'MODULEBUILDRC'}
2367 0 0 0 $action eq "fakeinstall" and not exists $options{'fakeinstall'}
2719 0 27 0 $args and %$args
2822 0 0 0 $self->up_to_date($pm_files, $cover_files) and $self->up_to_date($self->test_files, $cover_files)
2876 0 0 0 $self->pureperl_only and $self->allow_pureperl
2959 60 2 2 $self->pureperl_only and $self->allow_pureperl
2961 41 19 2 %$files and $self->pureperl_only
3053 0 0 32 -e "t" and -d _
3186 62 22 28 $self->install_destination($type) && ($self->install_path($type) || $self->install_sets($self->installdirs)->{$type})
3353 0 0 10 defined $self->args("html_links") and not $self->args("html_links")
3371 10 0 0 $self->_is_ActivePerl && eval { do { require ActivePerl::DocTools::Pod; 1 } }
3376 0 0 0 $tool_v and length $tool_v
3394 0 0 10 scalar @dirs and $dirs[-1] eq "File::Spec"->curdir
3579 9 0 0 $self->_is_ActivePerl and $self->{'_completed_actions'}{'html'}
3734 0 18 6 exists $types{$type} and not defined $types{$type}
3832 0 0 0 $skip_factory and &$skip_factory($maniskip)->($file)
4044 10 0 0 @{$self->bundle_inc;} and not $self->_mb_feature("inc_bundling_support")
4054 0 0 10 $dist_files and keys %$dist_files
4203 0 0 0 defined $skip and length $skip
4460 3 20 0 $self->valid_licenses->{$license} and eval { do { require Software::LicenseUtils; "Software::LicenseUtils"->VERSION("0.103009") } }
4553 0 0 15 $meta and $meta->save("$file.yml", {"version", "1.4"})
4555 0 0 15 $meta and $meta->save("$file.json")
4578 15 0 0 $@ and not $args{'quiet'}
4598 2 1 122 defined $version and length $version
4633 0 135 21 exists $p->{$type} and keys %{$$p{$type};}
4677 0 0 115 defined $field and length $field
4853 0 0 0 exists $prime{$package}{'version'} and defined $prime{$package}{'version'}
5022 217 0 0 @_ == 4 and defined $dirs
217 0 0 @_ == 4 and defined $dirs and defined $key
5030 0 217 0 defined $dirs and defined $key
5046 34 0 0 @_ == 3 and defined $key
5136 0 0 24 defined $path and length $path
5232 0 0 9 $self->create_packlist and my $module_name = $self->module_name
5329 0 0 8 $b && eval { do { $b->have_compiler } }
5493 15 8 30 @d and $d[0] eq 'lib' || $d[0] eq ''
5494 15 4 4 @d and $d[-1] eq ""
5568 4027 19 0 $status and $! =~ /Argument list too long/i
5586 0 0 189 defined $file and length $file
5594 87 0 102 defined $args{'to'} and length $args{'to'}
0 0 87 defined $args{'to_dir'} and length $args{'to_dir'}
5636 0 313 1 @$source and not @$derived

or 2 conditions

line l !l condition
33 0 80 $self->{'action'} ||= "Build_PL"
90 0 0 $self->config_dir || '_build'
122 0 367 $self->{'action'} ||= "build"
143 0 560 delete $input{'args'} || {}
144 6 554 delete $input{'config'} || {}
182 2 544 $p->{'bindoc_dirs'} ||= [&$blibdir("script")]
183 1 545 $p->{'libdoc_dirs'} ||= [&$blibdir("lib"), &$blibdir("arch")]
246 187 178 $c->get('installman1dir') || undef
247 187 178 $c->get('installman3dir') || undef
249 123 242 $c->get('installhtml1dir') || $c->get('installhtmldir') || undef
250 123 242 $c->get('installhtml3dir') || $c->get('installhtmldir') || undef
290 0 0 $c->get('installprefixexp') || $c->get('installprefix') || $c->get('prefixexp') || $c->get('prefix') || ''
674 56 0 $self->module_name || ''
830 3 2932 $p->{'check'} || sub { 1; }
869 296 17010 $p->{'check'} || sub { 1; }
1069 16 6 $opts{'code'} ||= ""
1070 7 15 $opts{'class'} ||= "MyModuleBuilder"
1184 170 0 $p->{$me} || undef
1565 82 25 $info ||= {map({$_, $self->$_;} @types)}
1602 410 0 $self->$type || {}
1817 0 6 $config_requires ||= 0
2222 58 0 $args{$_} ||= []
2271 801 11 $opts1 ||= {}
2272 812 0 $opts2 ||= {}
2364 0 0 $options{'*'} || ''
2371 0 0 $options{$action} || ''
2381 80 367 $action || $self->{'action'} || 'build'
2426 141 40 $seen ||= {}
2550 0 0 $spec ||= 0
2556 0 0 $mod->{'ok'} ||= 0
2619 0 0 $two || ''
2757 14 15 $self->verbose || 0
3194 0 8 eval { do { require ActivePerl::DocTools } } || 0
3203 0 5 eval { do { require ActivePerl::PPM } } || 0
3527 0 0 $self->{'args'}{'flags'} || ''
3576 0 9 $self->{'args'}{'uninst'} || 0
3614 0 0 $self->{'args'}{'uninst'} || 0
3820 0 0 shift() || 'MANIFEST.SKIP'
3854 22 0 (readline $fh)[-1] || "\n"
4171 0 0 shift() || ''
4180 0 0 shift() || ''
4181 0 0 shift() || ''
4202 0 0 shift() || 'MANIFEST.SKIP'
4213 1 0 shift() || 'MANIFEST.SKIP'
4485 1 0 join(' & ', @{$self->dist_author;}) || 'unknown'
4531 9 0 $self->module_name || ''
4669 15 8 $args{'fatal'} || 0
5082 2 1 $self->{'properties'}{'prefix_relpaths'}{$installdirs} ||= {}
5239 5 4 $self->destdir || ''
5362 0 18 $p->{'objects'} || []

or 3 conditions

line l !l&&r !l&&!r condition
50 0 0 10 $self->dist_name eq "Module-Build" or $ENV{'PERL5_CPANPLUS_IS_RUNNING'}
0 0 10 $self->dist_name eq "Module-Build" or $ENV{'PERL5_CPANPLUS_IS_RUNNING'} or $ENV{'PERL5_CPAN_IS_RUNNING'}
211 0 78 90 $self->verbose || !$self->quiet
254 365 0 0 $c->get('installsitebin') || $c->get('installbin')
365 0 0 $c->get('installsitescript') || $c->get('installsitebin') || $c->get('installscript')
271 0 94 $c->get('installsiteman1dir') || $bindoc
271 0 94 $c->get('installsiteman3dir') || $libdoc
157 0 208 $c->get('installsitehtml1dir') || $binhtml
157 0 208 $c->get('installsitehtml3dir') || $libhtml
0 365 0 $c->get('installvendorbin') || $c->get('installbin')
0 365 0 $c->get('installvendorscript') || $c->get('installvendorbin') || $c->get('installscript')
0 187 178 $c->get('installvendorman1dir') || $bindoc
0 187 178 $c->get('installvendorman3dir') || $libdoc
0 123 242 $c->get('installvendorhtml1dir') || $binhtml
0 123 242 $c->get('installvendorhtml3dir') || $libhtml
295 365 0 0 $p->{'original_prefix'}{'site'} ||= $p->{'original_prefix'}{'core'}
556 2 0 6 $ENV{'PERL_MM_USE_DEFAULT'} || !$self->_is_interactive && eof STDIN
641 0 1 4 $type eq "description" or $type eq "recommends"
1 3 1 $type eq "description" or $type eq "recommends" or not exists $info->{$type}
734 4909 26218 0 ref $_[0] || $_[0]
802 4 556 0 $self->{'properties'}{'build_class'} ||= ref $self
805 0 560 0 $self->{'properties'}{'orig_dir'} ||= $self->{'properties'}{'base_dir'}
1067 16 6 0 $opts{'code'} or $opts{'class'}
1109 0 5 0 -e $mod_path or -e "lib/$mod_path"
1181 101 69 0 $p->{$me} ||= join("/", "lib", split(/::/, $self->module_name, 0)) . ".pm"
1448 0 0 0 $max_name_len ||= length $name
1474 0 0 0 $disabled or $self->verbose
1525 0 0 80 keys %$xs_files || defined $self->c_source && (ref $self->c_source ne 'ARRAY' || @{$self->c_source;})
2425 28 12 0 ref $self || $self
141 40 0 $class ||= ref $self || $self
2719 5 0 27 $self->use_tap_harness or $args and %$args
3218 0 24 32 $self->invoked_action eq "manpages" or $self->_is_default_installable("${type}doc")
3321 0 4 52 $self->invoked_action eq "html" or $self->_is_default_installable("${type}html")
3332 6 4 0 shift() || 'File::Spec'->catdir($self->blib, "${type}html")
3808 0 0 0 @$missing or @$extra
3826 0 0 0 'ExtUtils::Manifest'->can('maniskip') || 'ExtUtils::Manifest'->can('_maniskip')
4718 23 0 0 not exists $add->{'meta-spec'} or $add->{'meta-spec'}{'version'} != 2
4931 0 0 0 $file ||= $p->{'file'}
4949 3 1 0 $file ||= $dir
5079 30 4 0 shift() || $self->installdirs
5139 0 0 24 not defined $path or length $path == 0
5205 0 9 0 $blib ||= $self->blib
5281 0 351 10 !ref($pattern) || ref $pattern eq 'Regexp'
5368 12 0 0 $spec->{'module_name'} || $self->module_name
5493 19 15 4 $d[0] eq 'lib' || $d[0] eq ''
5636 1 225 88 @$source and not @$derived or grep {not -e $_;} @$derived

xor 4 conditions

line l&&r l&&!r !l&&r !l&&!r condition
646 0 0 0 1 not $status->{'ok'} xor $type =~ /conflicts$/