Branch Coverage

blib/lib/CPAN.pm
Criterion Covered Total %
branch 51 394 12.9


line true false branch
12 13 0 if ('File::Spec'->can('rel2abs'))
14 148 0 unless ref $inc
17 13 0 if exists $SIG{'WINCH'}
188 0 1 if ($CPAN::Signal)
193 0 1 if ($CPAN::autoload_recursion > 1)
201 1 0 unless $CPAN::Config_loaded++
202 0 1 if (exists $export{$l}) { }
221 0 0 if (s/^\s*>//) { }
0 0 elsif (s/^\s*\|\s*//) { }
222 0 0 s/^>// ? :
224 0 0 unless length $_
225 0 0 unless defined $_
226 0 0 unless open STDOUT, ">$m$_"
233 0 0 unless open STDOUT, $pipe
242 0 0 unless $redir
247 0 0 if "$@"
261 0 0 unless defined $CPAN::Suppress_readline
262 0 0 unless $CPAN::Config_loaded++
270 0 0 unless ($CPAN::Suppress_readline)
272 0 0 if (not $CPAN::term or $CPAN::term->ReadLine eq 'Term::ReadLine::Stub')
278 0 0 if ($CPAN::term->ReadLine eq 'Term::ReadLine::Gnu') { }
287 0 0 if (my $histfile = $CPAN::Config->{'histfile'})
288 0 0 unless ($CPAN::term->can('AddHistory'))
290 0 0 unless ($CPAN::META->has_inst('Term::ReadLine::Perl'))
299 0 0 if defined $_
310 0 0 if defined $_
0 0 'File::Spec'->can('tmpdir') ? :
315 0 0 if $CPAN::term
316 0 0 unless ($CPAN::Config->{'inhibit_startup_message'})
317 0 0 $CPAN::term->ReadLine ne 'Term::ReadLine::Stub' ? :
0 0 $CPAN::Suppress_readline ? :
332 0 0 if ($CPAN::Suppress_readline) { }
333 0 0 if ($CPAN::Echo_readline)
337 0 0 unless defined($_ = readline ARGV)
338 0 0 if ($CPAN::Echo_readline)
345 0 0 unless defined($_ = $CPAN::term->readline($prompt, $commandline))
347 0 0 if $continuation
349 0 0 if /^$/
351 0 0 if (/^(?:q(?:uit)?|bye|exit)\s*$/i) { }
0 0 elsif (s/\\$//s) { }
0 0 elsif (/^\!/) { }
0 0 elsif (/./) { }
364 0 0 unless $CPAN::Eval::import_done++
365 0 0 if $CPAN::DEBUG
367 0 0 if $@
373 0 0 if $@
374 0 0 unless @line
376 0 0 if $CPAN::DEBUG
386 0 0 if ($command_error)
388 0 0 if (ref $err and $err->isa('CPAN::Exception::blocked_urllist')) { }
393 0 0 if ($err =~ /\S/)
401 0 0 if ($command =~ /^( # classic commands make |test |install |clean # pragmas for classic commands |ff?orce |notest # compounds |report |smoke |upgrade )$/x)
420 0 0 if (my $err = $@)
421 0 0 unless (ref $err and $reported_error eq ref $err)
438 0 0 if ($try_detect_readline)
439 0 0 if ($CPAN::META->has_inst('Term::ReadLine::Gnu') or $CPAN::META->has_inst('Term::ReadLine::Perl'))
452 0 0 if ($CPAN::term and $CPAN::term->can('ornaments'))
454 0 0 if (defined $_) { }
455 0 0 if (not defined $last_term_ornaments or $_ != $last_term_ornaments)
470 0 0 unless $CPAN::META->{'readwrite'}{"CPAN::$class"}{$dm}{'incommandcolor'}
475 0 0 if ($CPAN::GOTOSHELL)
477 0 0 if $CPAN::term and $CPAN::term->can('GetHistory')
488 0 0 unless (@$cwd)
496 0 0 if (CPAN::chdir("$cwd->[0]")) { }
499 0 0 if (@$cwd > 1) { }
513 0 0 if ($Config::Config{'d_flock'} or $Config::Config{'d_fcntl_can_lock'}) { }
0 0 elsif (not $CPAN::Have_warned->{'d_flock'}++) { }
526 0 3 if ($yaml_module ne 'YAML' and not $CPAN::META->has_inst($yaml_module))
534 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'}++)
553 0 0 unless -s $local_file
555 0 0 if ($CPAN::META->has_inst($yaml_module)) { }
564 0 0 if ($code = UNIVERSAL::can($yaml_module, 'LoadFile')) { }
0 0 elsif ($code = UNIVERSAL::can($yaml_module, 'Load')) { }
566 0 0 if ($@)
572 0 0 unless (open FH, $local_file)
579 0 0 if ($@)
597 0 0 if ($CPAN::META->has_inst($yaml_module)) { }
599 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')) { }
606 0 0 unless open FH, ">$local_file"
609 0 0 if ($@)
613 0 0 if (UNIVERSAL::isa($local_file, 'FileHandle')) { }
622 0 0 unless ($CPAN::META->has_inst('CPAN::SQLite'))
624 0 0 unless $CPAN::Have_warned->{'CPAN::SQLite'}++
634 129 1 if ($negative_cache->{'time'} and time < $negative_cache->{'time'} + 60) { }
641 0 1 if $ret
656 0 0 if (defined $dll)
657 0 0 -f $dll ? :
659 0 0 -f &find_perl() ? :
666 0 0 if ($other_fingerprint) { }
667 0 0 if (exists $other_fingerprint->{'stat($^X)'})
672 0 0 unless $other_fingerprint->{$key} eq $this_fingerprint->{$key}
681 0 0 if (not $INC{'CPAN/MyConfig.pm'})
687 0 0 if ($new =~ /^y/i) { }
699 0 0 unless $CPAN::Config_loaded++
700 0 0 if $CPAN::DEBUG
714 0 0 if (-f $lockfile and -M _ > 0)
715 0 0 unless my $fh = 'FileHandle'->new($lockfile)
720 0 0 if (defined $otherpid and length $otherpid)
723 0 0 if (defined $otherhost and length $otherhost)
728 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) { }
0 0 elsif ($^O eq 'MSWin32') { }
738 0 0 if $$ == $otherpid
743 0 0 if (kill 0, $otherpid or $!{'EPERM'}) { }
0 0 elsif (-w $lockfile) { }
751 0 0 unless $ans =~ /^y/i
772 0 0 if ($ask_if_degraded_wanted)
777 0 0 if ($ans =~ /^y/i) { }
793 0 0 if (defined $otherpid)
805 0 0 if ($@)
810 0 0 if (-l $dotcpan)
812 0 0 unless defined $symlinkcpan
814 0 0 if ($@) { }
822 0 0 unless (-d $dotcpan)
827 0 0 if $seconderror
845 0 0 unless ($CPAN::RUN_DEGRADED or $self->{'LOCKFH'})
847 0 0 unless ($fh = 'FileHandle'->new("+>>$lockfile"))
868 0 0 if ($sleep > 3)
891 0 0 if $CPAN::Signal
892 0 0 if $CPAN::Signal > 1
893 0 0 if $CPAN::Signal
920 0 0 if $CPAN::DEBUG
961 13 0 if ('File::Spec'->file_name_is_absolute($^X)) { }
972 0 0 if (defined $path and length $path and -d $path)
976 0 0 if ($^O eq 'VMS') { }
0 0 elsif (defined $exe and length $exe) { }
978 0 0 unless $perl =~ /$exe(;\d+)?$/i
981 0 0 unless $perl =~ /$exe$/i
988 0 0 if ('MM'->maybe_command($perl) and _perl_is_same($perl))
1000 0 31 unless $CPAN::Config_loaded++
1004 10 21 if $class eq 'CPAN::Module'
1006 0 31 if (_sqlite_running()) { }
1027 109 6 if $CPAN::HAS_USABLE->{$mod}
1029 3 3 unless $has_inst
1042 0 1 unless ('CPAN::Version'->vge('CPAN::Meta'->VERSION, 2.11035))
1053 0 0 if (defined $CPAN::Meta::Requirements::VERSION and 'CPAN::Version'->vlt($CPAN::Meta::Requirements::VERSION, '2.120920'))
1059 0 0 unless ('CPAN::Version'->vge('CPAN::Meta::Requirements'->VERSION, 2.12092))
1070 0 0 if (defined $CPAN::Reporter::VERSION and 'CPAN::Version'->vlt($CPAN::Reporter::VERSION, '1.2011'))
1076 0 0 unless ('CPAN::Version'->vge('CPAN::Reporter'->VERSION, '1.2011'))
1092 0 0 unless ('CPAN::Version'->vge('URI::URL'->VERSION, 0.08))
1103 0 0 if ($var and $var =~ /^http:/i)
1117 0 0 unless ('CPAN::Version'->vge('HTTP::Tiny'->VERSION, 0.005))
1127 0 0 unless ('CPAN::Version'->vge('File::HomeDir'->VERSION, 0.52))
1138 0 1 unless ('CPAN::Version'->vge('Archive::Tar'->VERSION, $demand))
1155 0 0 unless ('CPAN::Version'->vge('File::Temp'->VERSION, 0.16))
1164 2 1 if ($usable->{$mod})
1166 0 2 if $INC[-1] eq '.'
1170 0 2 unless defined $ret
1171 0 2 if ($@)
1182 0 0 if @_
1189 0 8 unless ($self->has_inst($module))
1197 0 51 unless defined $mod
1199 44 7 unless $CPAN::META->{'dontload_hash'}
1200 51 0 unless $CPAN::Config->{'dontload_hash'}
1201 51 0 unless $CPAN::Config->{'dontload_list'}
1202 9 42 if (defined $message and $message eq 'no' or $dont{$mod})
1210 0 42 if $INC[-1] eq '.'
1215 25 17 if ($INC{$file}) { }
7 10 elsif (eval { do { require $file } }) { }
0 10 elsif ($mod eq 'Net::FTP') { }
0 10 elsif ($mod eq 'Digest::SHA') { }
0 10 elsif ($mod eq 'Module::Signature') { }
1233 7 0 $v ? :
1235 0 7 if ($mod eq 'CPAN::WAIT')
1245 0 0 unless $CPAN::Have_warned->{'Net::FTP'}++
1248 0 0 if ($CPAN::Have_warned->{'Digest::SHA'}++) { }
1262 0 0 if (not $check_sigs) { }
0 0 elsif (not $CPAN::Have_warned->{'Module::Signature'}++) { }
1267 0 0 if (eval { do { require Crypt::OpenPGP; 1 } } or defined $CPAN::Config->{'gpg'} and $CPAN::Config->{'gpg'} =~ /\S/)
1296 5 41 if exists $CPAN::META->{'readwrite'}{$class}{$id}
1320 13 13 if $subroutine eq '(eval)'
1323 0 13 if $ineval and not $CPAN::End
1324 13 0 unless defined $CPAN::META->{'LOCK'}
1325 0 0 unless -f $CPAN::META->{'LOCK'}
1332 0 0 if ($CPAN::CONFIG_DIRTY)
1345 0 0 if defined $term->Attribs->{'MaxHistorySize'}
1347 0 0 unless open $fh, "<$histfile"
1360 0 0 unless ($histfile = $CPAN::Config->{'histfile'})
1365 0 0 if ($CPAN::term) { }
1366 0 0 unless ($CPAN::term->can('GetHistory'))
1374 0 0 if @h > $histsize
1376 0 0 unless open $fh, ">$histfile"
1385 0 0 unless ($what)
1413 0 0 if ($foul) { }
0 0 elsif (-e $_) { }
1415 0 0 if ($foul) { }
1419 0 0 if ($d->{'build_dir'} and $d->{'build_dir'} eq $dbd)
1440 0 0 unless ($for)
1445 0 0 unless %{$self->{'is_tested'};}
1447 0 0 unless defined $env
1449 0 0 if defined $env and length $env
1454 0 0 unless @dirs
1456 0 0 if (@dirs < 12) { }
0 0 elsif (@dirs < 24) { }