Condition Coverage

blib/lib/Module/Build/Base.pm
Criterion Covered Total %
condition 195 406 48.0


and 2 conditions

line l !l condition
3875 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 550 0 8 defined $p->{'dist_author'} and not ref $p->{'dist_author'}
198 0 555 3 exists $p->{$_} and not ref $p->{$_}
211 0 90 78 ref $self and $self->verbose || !$self->quiet
215 3483 1275 23 ref $self and $self->verbose
219 0 790 0 ref $self and $self->debug
225 0 103 0 @_ and not $_[-1] =~ /\n$/
241 69 0 0 not ref $r and $r eq "auto"
373 0 0 0 defined $perl_src and length $perl_src
401 0 46 245 -f $thisperl and $proto->_perl_is_same($thisperl)
431 7 0 0 -x $file and not -d $file
436 0 0 0 -t STDIN && (-t STDOUT || !(-f STDOUT || -c STDOUT))
471 6 0 2 $self->_is_unattended and not @def
480 0 4 2 defined $ans and length $ans
494 2 1 1 $def and not $def =~ /^[yn]/i
734 1 3 4 defined $_[0] and not ref $_[0]
746 1 2 1 defined $_[0] and ref $_[0] ne "HASH"
912 0 1 42178 defined($current = shift @in_stack) and $current->isa("Module::Build::Base")
987 5 0 0 $p->{'dist_version_from'} and -e $p->{'dist_version_from'}
1037 20 121 0 $p->{$me} eq "stable" and $self->_is_dev_version
1372 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'}
1407 80 0 0 $self->pureperl_only and $self->allow_pureperl
1469 0 0 5 !ref($status->{'have'}) && $status->{'have'} eq ''
1588 44 36 0 $spec and not defined $status{'have'}
1603 5 55 88 $op eq ">=" and not $version
1635 0 0 0 $status->{'have'} and "$status->{'have'}" ne ""
1702 0 0 0 $meta && $meta->{'prereqs'}{'configure'}{'requires'}{'Module::Build'}
1930 0 446 10 $specs and %$specs
2020 346 0 58 exists $args->{$key} and not $singular_argument{$key}
2067 0 1 0 @$argv and $argv->[0] =~ /^\d+$/
2083 0 0 0 /^($opt_re)$/ and not defined $action
2102 570 0 0 exists $args{$_} and not ref $args{$_}
2182 452 0 0 $ENV{'HOMEDRIVE'} and $ENV{'HOMEPATH'}
2210 452 0 0 exists $ENV{'MODULEBUILDRC'} and $ENV{'MODULEBUILDRC'} eq "NONE"
452 0 0 exists $ENV{'MODULEBUILDRC'} and -e $ENV{'MODULEBUILDRC'}
2254 0 0 0 $action eq "fakeinstall" and not exists $options{'fakeinstall'}
2606 0 27 0 $args and %$args
2709 0 0 0 $self->up_to_date($pm_files, $cover_files) and $self->up_to_date($self->test_files, $cover_files)
2763 0 0 0 $self->pureperl_only and $self->allow_pureperl
2846 60 2 2 $self->pureperl_only and $self->allow_pureperl
2848 41 19 2 %$files and $self->pureperl_only
2940 0 0 32 -e "t" and -d _
3226 0 0 10 defined $self->args("html_links") and not $self->args("html_links")
3244 10 0 0 $self->_is_ActivePerl && eval { do { require ActivePerl::DocTools::Pod; 1 } }
3249 0 0 0 $tool_v and length $tool_v
3267 0 0 10 scalar @dirs and $dirs[-1] eq "File::Spec"->curdir
3452 9 0 0 $self->_is_ActivePerl and $self->{'_completed_actions'}{'html'}
3607 0 18 6 exists $types{$type} and not defined $types{$type}
3705 0 0 0 $skip_factory and &$skip_factory($maniskip)->($file)
3917 10 0 0 @{$self->bundle_inc;} and not $self->_mb_feature("inc_bundling_support")
3927 0 0 10 $dist_files and keys %$dist_files
4076 0 0 0 defined $skip and length $skip
4333 3 20 0 $self->valid_licenses->{$license} and eval { do { require Software::LicenseUtils; "Software::LicenseUtils"->VERSION("0.103009") } }
4426 0 0 15 $meta and $meta->save("$file.yml", {"version", "1.4"})
4428 0 0 15 $meta and $meta->save("$file.json")
4451 15 0 0 $@ and not $args{'quiet'}
4471 2 1 122 defined $version and length $version
4506 0 135 21 exists $p->{$type} and keys %{$$p{$type};}
4550 0 0 115 defined $field and length $field
4726 0 0 0 exists $prime{$package}{'version'} and defined $prime{$package}{'version'}
4890 12 0 0 @_ == 4 and defined $dirs
12 0 0 @_ == 4 and defined $dirs and defined $key
4895 0 2 10 defined $dirs and defined $key
4908 10 0 0 @_ == 3 and defined $key
5070 0 0 8 $b && eval { do { $b->have_compiler } }
5234 15 8 30 @d and $d[0] eq 'lib' || $d[0] eq ''
5235 15 4 4 @d and $d[-1] eq ""
5309 4039 19 0 $status and $! =~ /Argument list too long/i
5327 0 0 189 defined $file and length $file
5335 87 0 102 defined $args{'to'} and length $args{'to'}
0 0 87 defined $args{'to_dir'} and length $args{'to_dir'}
5377 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 376 $self->{'action'} ||= "build"
143 0 572 delete $input{'args'} || {}
144 6 566 delete $input{'config'} || {}
182 2 556 $p->{'bindoc_dirs'} ||= [&$blibdir("script")]
183 1 557 $p->{'libdoc_dirs'} ||= [&$blibdir("lib"), &$blibdir("arch")]
561 56 0 $self->module_name || ''
717 3 2962 $p->{'check'} || sub { 1; }
756 299 17184 $p->{'check'} || sub { 1; }
956 16 6 $opts{'code'} ||= ""
957 7 15 $opts{'class'} ||= "MyModuleBuilder"
1071 170 0 $p->{$me} || undef
1452 82 25 $info ||= {map({$_, $self->$_;} @types)}
1489 410 0 $self->$type || {}
1704 0 6 $config_requires ||= 0
2109 58 0 $args{$_} ||= []
2158 456 0 $opts1 ||= {}
2159 456 0 $opts2 ||= {}
2251 0 0 $options{'*'} || ''
2258 0 0 $options{$action} || ''
2268 80 376 $action || $self->{'action'} || 'build'
2313 141 40 $seen ||= {}
2437 0 0 $spec ||= 0
2443 0 0 $mod->{'ok'} ||= 0
2506 0 0 $two || ''
2644 14 15 $self->verbose || 0
3068 0 8 eval { do { require ActivePerl::DocTools } } || 0
3077 0 5 eval { do { require ActivePerl::PPM } } || 0
3400 0 0 $self->{'args'}{'flags'} || ''
3449 0 9 $self->{'args'}{'uninst'} || 0
3487 0 0 $self->{'args'}{'uninst'} || 0
3693 0 0 shift() || 'MANIFEST.SKIP'
3727 22 0 (readline $fh)[-1] || "\n"
4044 0 0 shift() || ''
4053 0 0 shift() || ''
4054 0 0 shift() || ''
4075 0 0 shift() || 'MANIFEST.SKIP'
4086 1 0 shift() || 'MANIFEST.SKIP'
4358 1 0 join(' & ', @{$self->dist_author;}) || 'unknown'
4404 9 0 $self->module_name || ''
4542 15 8 $args{'fatal'} || 0
4942 4 2 $self->{'properties'}{'prefix_relpaths'}{$installdirs} ||= {}
5103 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
443 2 0 6 $ENV{'PERL_MM_USE_DEFAULT'} || !$self->_is_interactive && eof STDIN
528 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}
621 5008 26485 0 ref $_[0] || $_[0]
689 4 568 0 $self->{'properties'}{'build_class'} ||= ref $self
692 0 572 0 $self->{'properties'}{'orig_dir'} ||= $self->{'properties'}{'base_dir'}
954 16 6 0 $opts{'code'} or $opts{'class'}
996 0 5 0 -e $mod_path or -e "lib/$mod_path"
1068 101 69 0 $p->{$me} ||= join("/", "lib", split(/::/, $self->module_name, 0)) . ".pm"
1335 0 0 0 $max_name_len ||= length $name
1361 0 0 0 $disabled or $self->verbose
1412 0 0 80 keys %$xs_files || defined $self->c_source && (ref $self->c_source ne 'ARRAY' || @{$self->c_source;})
2312 28 12 0 ref $self || $self
141 40 0 $class ||= ref $self || $self
2606 5 0 27 $self->use_tap_harness or $args and %$args
3092 0 24 32 $self->invoked_action eq "manpages" or $self->_is_default_installable("${type}doc")
3195 0 4 52 $self->invoked_action eq "html" or $self->_is_default_installable("${type}html")
3206 6 4 0 shift() || 'File::Spec'->catdir($self->blib, "${type}html")
3681 0 0 0 @$missing or @$extra
3699 0 0 0 'ExtUtils::Manifest'->can('maniskip') || 'ExtUtils::Manifest'->can('_maniskip')
4591 23 0 0 not exists $add->{'meta-spec'} or $add->{'meta-spec'}{'version'} != 2
4804 0 0 0 $file ||= $p->{'file'}
4822 3 1 0 $file ||= $dir
4940 12 8 0 shift() || $self->installdirs
5022 0 351 10 !ref($pattern) || ref $pattern eq 'Regexp'
5109 12 0 0 $spec->{'module_name'} || $self->module_name
5234 19 15 4 $d[0] eq 'lib' || $d[0] eq ''
5377 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
533 0 0 0 1 not $status->{'ok'} xor $type =~ /conflicts$/