Branch Coverage

blib/lib/ExtUtils/AutoInstall.pm
Criterion Covered Total %
branch 53 178 29.7


line true false branch
337 0 0 UNIVERSAL::isa($Config, 'HASH') ? :
345 0 0 if ($arg =~ /^--config=(.*)$/) { }
0 0 elsif ($arg =~ /^--installdeps=(.*)$/) { }
0 0 elsif ($arg =~ /^--default(?:deps)?$/) { }
0 0 elsif ($arg =~ /^--check(?:deps)?$/) { }
0 0 elsif ($arg =~ /^--skip(?:deps)?$/) { }
0 0 elsif ($arg =~ /^--test(?:only)?$/) { }
382 0 1 unless my(@args) = @_
394 1 3 ref $_ eq 'HASH' ? :
4 0 ref $_ ? :
395 3 3 unless /^[^\-]/
403 3 3 if ($feature =~ /^-(\w+)$/)
407 1 2 if $option eq 'version'
410 1 2 if $option eq 'config'
413 1 2 if $option eq 'core'
416 2 1 unless $option eq 'core'
421 1 3 if UNIVERSAL::isa($modules, 'HASH')
423 0 4 if ref $$modules[0] eq 'CODE'
427 2 4 if ($mod =~ /^-(\w+)$/)
430 1 1 if $option eq 'default'
431 0 2 if $option eq 'conflict'
432 1 1 if $option eq 'tests'
433 0 2 if $option eq 'skiptests'
441 0 4 if (defined(my $cur = _version_check(_load($mod), $arg ||= 0))) { }
442 0 0 $arg ? :
447 3 1 $arg ? :
452 0 4 unless @required
456 0 4 if (not $SkipInstall and $CheckOnly || _prompt('==> Auto-install the ' . @required / 2 . ($mandatory ? ' mandatory' : ' optional') . ' module(s) from CPAN?', $default ? 'y' : 'n') =~ /^[Yy]/) { }
1 3 elsif (not $SkipInstall and $default and $mandatory and _prompt('==> The module(s) are mandatory! Really skip?', 'n') =~ /^[Nn]/) { }
479 1 0 if (@Missing and not $CheckOnly || $UnderCPAN)
483 0 1 if eval '$>'
491 1 0 if caller 0 eq 'main'
496 0 1 unless @Missing
497 0 1 if _has_cpanplus()
502 0 0 $^O eq 'MSWin32' ? :
0 0 if (-f $lock and open LOCK, $lock and $^O eq 'MSWin32' ? _under_cpan() : == getppid and ($$CPAN::Config{'prerequisites_policy'} || '') ne 'ignore')
521 0 0 if ++$i
526 0 0 if (defined _version_check(_load($pkg), $ver)) { }
534 0 0 unless @modules
538 0 0 unless _connected_to('cpan.org')
543 0 0 if ($args{'do_once'} and open FAILED, '.#autoinstall.failed')
549 0 0 unless $failed{$k}
554 0 0 if (_has_cpanplus()) { }
565 0 0 if (defined _version_check(_load($pkg), $ver)) { }
0 0 elsif ($args{'do_once'} and open FAILED, '>> .#autoinstall.failed') { }
573 0 0 if $args{'do_once'}
587 0 0 $conf->can('conf') ? :
0 0 unless _can_write($conf->can('conf') ? $conf->get_conf('base') : $conf->_get_build('base'))
595 0 0 if (UNIVERSAL::isa($makeflags, 'HASH')) { }
597 0 0 unless exists $$makeflags{'UNINST'}
601 0 0 if not $makeflags =~ /\bUNINST\b/ and eval " $> eq '0' "
615 0 0 if defined &MY::preinstall
620 0 0 if ($obj and defined _version_check($$obj{'version'}, $ver)) { }
629 0 0 if ($rv and $$rv{$$obj{'module'}} || $$rv{'ok'}) { }
646 0 0 if defined &MY::postinstall
661 0 0 unless _can_write('MM'->catfile($$CPAN::Config{'cpan_home'}, 'sources')) and _can_write($Config::Config{'sitelib'})
666 0 0 if not $makeflags =~ /\bUNINST\b/ and eval " $> eq '0' "
674 0 0 if $opt =~ /^force$/
682 0 0 if defined &MY::preinstall
689 0 0 if ($obj and defined _version_check($obj->cpan_version, $ver)) { }
696 0 0 if $args{'force'}
705 0 0 if ($rv eq 'YES') { }
722 0 0 if defined &MY::postinstall
752 1 0 if defined _version_check(_load($class), $ver)
754 0 0 if (_prompt("==> A newer version of $class ($ver) is required. Install?", 'y') =~ /^[Nn]/)
765 0 0 if $class->install([], $class, $ver)
790 0 0 unless -e $path
792 0 0 if -w $path
799 0 0 if (eval '$>' and lc(`sudo -V`) =~ /version/ and _prompt("\n==> Should we try to re-execute the autoinstall process with 'sudo'?", 'y') =~ /^[Yy]/)
808 0 0 UNIVERSAL::isa($Config, 'HASH') ? :
0 0 if $Config
811 0 0 unless system 'sudo', $^X, $0, "--config=$config", "--installdeps=$missing"
838 4 1 unless defined $cur
843 0 1 if (ref $cur or ref $min or $cur =~ /v|\..*\./ or $min =~ /v|\..*\./)
844 0 0 if ($version::VERSION or defined _load('version')) { }
0 0 elsif ($Sort::Versions::VERSION or defined _load('Sort::Versions')) { }
846 0 0 'version'->new($cur) >= 'version'->new($min) ? :
850 0 0 Sort::Versions::versioncmp($cur, $min) != -1 ? :
859 1 0 $cur >= $min ? :
868 0 0 unless $args{'PREREQ_PM'}
0 1 if $UnderCPAN or $TestOnly
871 1 0 if ($args{'EXE_FILES'})
887 1 0 UNIVERSAL::isa($Config, 'HASH') ? :
1 0 if $Config
890 1 0 $missing ? :
901 0 1 if @_ % 2
903 0 1 if ($CheckOnly)
915 1 0 unless defined &MY::postamble
918 1 0 unless $PostambleUsed