Branch Coverage

blib/lib/CPAN.pm
Criterion Covered Total %
branch 46 366 12.5


line true false branch
12 7 0 if ('File::Spec'->can('rel2abs'))
14 80 0 unless ref $inc
185 0 1 if ($CPAN::Signal)
190 0 1 if ($CPAN::autoload_recursion > 1)
198 1 0 unless $CPAN::Config_loaded++
199 0 1 if (exists $export{$l}) { }
218 0 0 if (s/^\s*>//) { }
0 0 elsif (s/^\s*\|\s*//) { }
219 0 0 s/^>// ? :
221 0 0 unless length $_
222 0 0 unless defined $_
223 0 0 unless open STDOUT, ">$m$_"
230 0 0 unless open STDOUT, $pipe
239 0 0 unless $redir
244 0 0 if "$@"
258 0 0 unless defined $CPAN::Suppress_readline
259 0 0 unless $CPAN::Config_loaded++
267 0 0 unless ($CPAN::Suppress_readline)
269 0 0 if (not $CPAN::term or $CPAN::term->ReadLine eq 'Term::ReadLine::Stub')
275 0 0 if ($CPAN::term->ReadLine eq 'Term::ReadLine::Gnu') { }
284 0 0 if (my $histfile = $$CPAN::Config{'histfile'})
285 0 0 unless ($CPAN::term->can('AddHistory'))
293 0 0 if defined $_
304 0 0 if defined $_
0 0 'File::Spec'->can('tmpdir') ? :
309 0 0 if $CPAN::term
310 0 0 unless ($$CPAN::Config{'inhibit_startup_message'})
311 0 0 $CPAN::term->ReadLine ne 'Term::ReadLine::Stub' ? :
0 0 $CPAN::Suppress_readline ? :
327 0 0 if ($CPAN::Suppress_readline) { }
328 0 0 if ($CPAN::Echo_readline)
332 0 0 unless defined($_ = )
333 0 0 if ($CPAN::Echo_readline)
340 0 0 unless defined($_ = $CPAN::term->readline($prompt, $commandline))
342 0 0 if $continuation
344 0 0 if /^$/
346 0 0 if (/^(?:q(?:uit)?|bye|exit)\s*$/i) { }
0 0 elsif (s/\\$//s) { }
0 0 elsif (/^\!/) { }
0 0 elsif (/./) { }
359 0 0 unless $CPAN::Eval::import_done++
360 0 0 if $CPAN::DEBUG
362 0 0 if $@
368 0 0 if $@
369 0 0 unless @line
371 0 0 if $CPAN::DEBUG
381 0 0 if ($command_error)
383 0 0 if (ref $err and $err->isa('CPAN::Exception::blocked_urllist')) { }
388 0 0 if ($err =~ /\S/)
396 0 0 if ($command =~ /^( # classic commands make |test |install |clean # pragmas for classic commands |ff?orce |notest # compounds |report |smoke |upgrade )$/x)
415 0 0 if (my $err = $@)
416 0 0 unless (ref $err and $reported_error eq ref $err)
433 0 0 if ($try_detect_readline)
434 0 0 if ($CPAN::META->has_inst('Term::ReadLine::Gnu') or $CPAN::META->has_inst('Term::ReadLine::Perl'))
447 0 0 if ($CPAN::term and $CPAN::term->can('ornaments'))
449 0 0 if (defined $_) { }
450 0 0 if (not defined $last_term_ornaments or $_ != $last_term_ornaments)
465 0 0 unless $$CPAN::META{'readwrite'}{"CPAN::$class"}{$dm}{'incommandcolor'}
470 0 0 if ($CPAN::GOTOSHELL)
472 0 0 if $CPAN::term and $CPAN::term->can('GetHistory')
483 0 0 unless (@$cwd)
491 0 0 if (chdir($$cwd[0])) { }
494 0 0 if (@$cwd > 1) { }
508 0 0 if ($Config::Config{'d_flock'} or $Config::Config{'d_fcntl_can_lock'}) { }
0 0 elsif (not $$CPAN::Have_warned{'d_flock'}++) { }
521 0 3 if ($yaml_module ne 'YAML' and not $CPAN::META->has_inst($yaml_module))
529 0 0 if ($yaml_module eq 'YAML' and $CPAN::META->has_inst($yaml_module) and $YAML::VERSION < 0.6 and not $$CPAN::Have_warned{'YAML'}++)
548 0 0 unless -s $local_file
550 0 0 if ($CPAN::META->has_inst($yaml_module)) { }
559 0 0 if ($code = UNIVERSAL::can($yaml_module, 'LoadFile')) { }
0 0 elsif ($code = UNIVERSAL::can($yaml_module, 'Load')) { }
561 0 0 if ($@)
567 0 0 unless open FH, $local_file
571 0 0 if ($@)
589 0 0 if ($CPAN::META->has_inst($yaml_module)) { }
591 0 0 if (UNIVERSAL::isa($local_file, 'FileHandle')) { }
0 0 elsif ($code = UNIVERSAL::can($yaml_module, 'DumpFile')) { }
0 0 elsif ($code = UNIVERSAL::can($yaml_module, 'Dump')) { }
598 0 0 unless open FH, ">$local_file"
601 0 0 if ($@)
605 0 0 if (UNIVERSAL::isa($local_file, 'FileHandle')) { }
614 0 0 unless ($CPAN::META->has_inst('CPAN::SQLite'))
615 0 0 unless $$CPAN::Have_warned{'CPAN::SQLite'}++
626 126 1 if ($$negative_cache{'time'} and time < $$negative_cache{'time'} + 60) { }
633 0 1 if $ret
648 0 0 if (defined $dll)
649 0 0 -f $dll ? :
651 0 0 -f find_perl ? :
658 0 0 if ($other_fingerprint) { }
659 0 0 if (exists $$other_fingerprint{'stat($^X)'})
664 0 0 unless $$other_fingerprint{$key} eq $$this_fingerprint{$key}
673 0 0 if (not $INC{'CPAN/MyConfig.pm'})
679 0 0 if ($new =~ /^y/i) { }
691 0 0 unless $CPAN::Config_loaded++
692 0 0 if $CPAN::DEBUG
706 0 0 if (-f $lockfile and -M _ > 0)
707 0 0 unless my $fh = 'FileHandle'->new($lockfile)
712 0 0 if (defined $otherpid and $otherpid)
715 0 0 if (defined $otherhost and $otherhost)
719 0 0 if (defined $otherhost and defined $thishost and $otherhost ne '' and $thishost ne '' and $otherhost ne $thishost) { }
0 0 elsif ($CPAN::RUN_DEGRADED) { }
0 0 elsif (defined $otherpid and $otherpid) { }
729 0 0 if $$ == $otherpid
734 0 0 if (kill 0, $otherpid or $!{'EPERM'}) { }
0 0 elsif (-w $lockfile) { }
740 0 0 if ($ans =~ /^y/i) { }
766 0 0 unless $ans =~ /^y/i
784 0 0 if ($@)
789 0 0 if (-l $dotcpan)
791 0 0 unless defined $symlinkcpan
793 0 0 if ($@) { }
801 0 0 unless (-d $dotcpan)
806 0 0 if $seconderror
824 0 0 unless ($CPAN::RUN_DEGRADED or $$self{'LOCKFH'})
826 0 0 unless ($fh = 'FileHandle'->new("+>>$lockfile"))
846 0 0 if ($sleep > 10)
869 0 0 if $CPAN::Signal
870 0 0 if $CPAN::Signal > 1
871 0 0 if $CPAN::Signal
898 0 0 if $CPAN::DEBUG
936 7 0 if ('File::Spec'->file_name_is_absolute($^X)) { }
947 0 0 if (defined $path and length $path and -d $path)
951 0 0 if ($^O eq 'VMS') { }
0 0 elsif (defined $exe and length $exe) { }
953 0 0 unless $perl =~ /$exe(;\d+)?$/i
956 0 0 unless $perl =~ /$exe$/i
963 0 0 if ('MM'->maybe_command($perl) and _perl_is_same($perl))
975 0 31 unless $CPAN::Config_loaded++
979 10 21 if $class eq 'CPAN::Module'
981 0 31 if (_sqlite_running()) { }
1002 112 4 if $$CPAN::HAS_USABLE{$mod}
1004 0 4 unless $has_inst
1014 0 1 unless ('CPAN::Version'->vge('CPAN::Meta'->VERSION, 2.11035))
1030 0 0 unless ('CPAN::Version'->vge('URI::URL'->VERSION, 0.08))
1045 0 0 unless ('CPAN::Version'->vge('HTTP::Tiny'->VERSION, 0.005))
1055 0 0 unless ('CPAN::Version'->vge('File::HomeDir'->VERSION, 0.52))
1066 0 1 unless ('CPAN::Version'->vge('Archive::Tar'->VERSION, $demand))
1083 0 0 unless ('CPAN::Version'->vge('File::Temp'->VERSION, 0.16))
1092 2 2 if ($$usable{$mod})
1096 0 2 unless defined $ret
1097 0 2 if ($@)
1109 0 40 unless defined $mod
1111 33 7 unless $$CPAN::META{'dontload_hash'}
40 0 unless $$CPAN::Config{'dontload_hash'}
1112 40 0 unless $$CPAN::Config{'dontload_list'}
1114 9 31 if (defined $message and $message eq 'no' or $dont{$mod})
1125 18 13 if ($INC{$file}) { }
7 6 elsif (eval { do { require $file } }) { }
0 6 elsif ($mod eq 'Net::FTP') { }
0 6 elsif ($mod eq 'Digest::SHA') { }
0 6 elsif ($mod eq 'Module::Signature') { }
1143 7 0 $v ? :
1145 0 7 if ($mod eq 'CPAN::WAIT')
1150 0 0 unless $$CPAN::Have_warned{'Net::FTP'}++
1158 0 0 if ($$CPAN::Have_warned{'Digest::SHA'}++) { }
1172 0 0 if (not $check_sigs) { }
0 0 elsif (not $$CPAN::Have_warned{'Module::Signature'}++) { }
1177 0 0 if (eval { do { require Crypt::OpenPGP; 1 } } or defined $$CPAN::Config{'gpg'} and $$CPAN::Config{'gpg'} =~ /\S/)
1206 4 39 if exists $$CPAN::META{'readwrite'}{$class}{$id}
1230 7 7 if $subroutine eq '(eval)'
1233 0 7 if $ineval and not $CPAN::End
1234 7 0 unless defined $$CPAN::META{'LOCK'}
1235 0 0 unless -f $$CPAN::META{'LOCK'}
1242 0 0 if ($CPAN::CONFIG_DIRTY)
1255 0 0 if defined $term->Attribs->{'MaxHistorySize'}
1257 0 0 unless open $fh, "<$histfile"
1270 0 0 unless ($histfile = $$CPAN::Config{'histfile'})
1275 0 0 if ($CPAN::term) { }
1276 0 0 unless ($CPAN::term->can('GetHistory'))
1284 0 0 if @h > $histsize
1286 0 0 unless open $fh, ">$histfile"
1295 0 0 unless ($what)
1323 0 0 if ($foul) { }
0 0 elsif (-e $_) { }
1325 0 0 if ($foul) { }
1329 0 0 if ($$d{'build_dir'} and $$d{'build_dir'} eq $dbd)
1350 0 0 unless ($for)
1355 0 0 unless %{$$self{'is_tested'};}
1357 0 0 unless defined $env
1359 0 0 if defined $env and length $env
1364 0 0 unless @dirs
1366 0 0 if (@dirs < 12) { }
0 0 elsif (@dirs < 24) { }