Branch Coverage

blib/lib/CPAN/FTP.pm
Criterion Covered Total %
branch 69 448 15.4


line true false branch
26 0 0 if exists &Errno::EAGAIN and $! == &Errno::EAGAIN
27 0 0 if ++$cnt > 100000
38 0 7 if defined $ftpstats_size and $ftpstats_size <= 0
39 0 7 $fh ? :
43 0 7 if $^O eq "MSWin32"
52 0 0 if ($sleep > 3)
59 0 0 if ($sleep <= 6) { }
67 0 7 if ($@)
68 0 0 if (ref $@) { }
69 0 0 if (ref $@ eq 'CPAN::Exception::yaml_not_installed') { }
0 0 elsif (ref $@ eq 'CPAN::Exception::yaml_process_error') { }
80 0 0 unless rename $file, $to
93 76 0 if ('CPAN'->has_inst('Time::HiRes')) { }
115 0 38 if $CPAN::DEBUG
116 0 38 if ($CPAN::META->has_inst($yaml_module))
123 0 0 if $sdebug
125 0 0 if $fh and defined fileno $fh
127 0 0 if $sdebug
128 0 0 if $sdebug
133 0 0 unless defined $ftpstats_size
136 0 0 unless $fullstats->{'history'}
145 0 0 if $sdebug
146 0 0 if $sdebug
147 0 0 if $sdebug
151 0 0 if ($sdebug)
160 0 0 if $^O eq "MSWin32" or $^O eq "os2"
161 0 0 if -e $sfile
162 0 0 unless rename "$sfile.${$}", $sfile
174 0 0 unless (@stat)
180 0 0 unless chmod $stat[2], $dest
183 0 0 if $@
186 0 0 unless (chown $stat[4], $stat[5], $dest)
194 0 0 if $@
202 7 31 if ($file =~ s[/CHECKSUMS(.gz)?$][])
206 0 0 if $last->{'end'} - time > 3600
207 0 0 unless $last->{'file'}
208 0 0 unless $file eq dirname($last->{'file'})
212 0 38 if ($CPAN::Config->{'randomize_urllist'} and rand 1 < $CPAN::Config->{'randomize_urllist'}) { }
226 0 38 if $CPAN::DEBUG
229 0 38 unless (ref $CPAN::Config->{'urllist'} eq "ARRAY")
233 38 0 if defined $_
234 0 38 if $with_defaults
236 0 38 if $CPAN::DEBUG
237 0 38 if (UNIVERSAL::can($u, 'text')) { }
238 0 0 unless substr($u->{'TEXT'}, -1) eq "/"
240 38 0 unless substr($u, -1) eq "/"
250 0 0 if $CPAN::DEBUG
255 0 0 unless ($ftp)
259 0 0 unless defined $ftp
260 0 0 if $CPAN::DEBUG{'FTP'} & $CPAN::DEBUG
262 0 0 unless ($ftp->login("anonymous", $Config::Config{'cf_email'}))
267 0 0 unless ($ftp->cwd($dir))
273 0 0 if $CPAN::DEBUG
274 0 0 unless ($ftp->get($file, $target))
315 0 38 unless defined $aslocal
317 0 38 if ($CPAN::DEBUG)
323 7 31 if not defined $CPAN::FTP::connect_to_internet_ok and defined $_
326 0 38 if (not defined $ph or $ph) { }
335 0 0 if (-f $aslocal and -r _ and not $force & 1)
337 0 0 if ($size = -s $aslocal) { }
338 0 0 if $CPAN::DEBUG
342 0 0 unless unlink $aslocal
353 0 0 if $self->have_promising_aslocal($aslocal, $force)
359 0 0 if ($CPAN::META->has_usable('HTTP::Tiny') and $CPAN::META->has_usable('Net::SSLeay') and $CPAN::META->has_usable('IO::Socket::SSL') or $CPAN::Config->{'curl'} or $CPAN::Config->{'wget'}) { }
368 0 0 if $CPAN::Config->{$prx}
374 0 0 @missing_modules == 1 ? :
376 0 0 if ($CPAN::META->has_usable("HTTP::Tiny"))
380 0 0 if $CPAN::Config->{$prx}
385 0 0 if ($ret) { }
386 0 0 if $CPAN::DEBUG
387 0 0 if ($ret eq $aslocal_tempfile)
390 0 0 unless rename $aslocal_tempfile, $aslocal
408 0 0 if ($CPAN::META->has_usable('HTTP::Tiny') and $proto eq 'http' || $CPAN::META->has_usable('Net::SSLeay') && $CPAN::META->has_usable('IO::Socket::SSL')) { }
0 0 elsif ($CPAN::Config->{'curl'} or $CPAN::Config->{'wget'}) { }
424 0 0 !($url =~ /\.gz(?!\n)\Z/) ? :
427 0 0 if ($res and $res->{'success'}) { }
0 0 elsif ($res and $res->{'status'} ne '599') { }
0 0 elsif ($res and $res->{'status'} eq '599') { }
463 0 0 unless defined $dlprg_configured and length $dlprg_configured
465 0 0 if ($dlprg eq 'wget') { }
0 0 elsif ($dlprg eq 'curl') { }
471 0 0 if ($proxy_vars->{'http_proxy'})
484 0 0 if $CPAN::DEBUG
486 0 0 if ($wstatus == 0) { }
490 0 0 -f $aslocal ? :
507 0 38 if $self->have_promising_aslocal($aslocal, $force)
509 0 38 if (-f $aslocal)
516 38 0 if ($CPAN::META->has_usable("LWP::UserAgent"))
517 8 30 unless ($CPAN::FTP::Ua)
520 0 8 if ($@) { }
521 0 0 if $CPAN::DEBUG
526 0 8 if $var = $CPAN::Config->{'ftp_proxy'} || $ENV{'ftp_proxy'}
528 0 8 if $var = $CPAN::Config->{'http_proxy'} || $ENV{'http_proxy'}
530 0 8 if $var = $CPAN::Config->{'no_proxy'} || $ENV{'no_proxy'}
535 0 114 if $CPAN::Config->{$prx}
543 24 14 if ($force & 2) { }
548 0 0 unless (substr($ccurllist->[$b], 0, 4) eq "file") <=> (substr($ccurllist->[$a], 0, 4) eq "file")
561 0 38 if $CPAN::DEBUG
573 30 8 if ($CPAN::FTP::Themethod) { }
582 35 3 exists $CPAN::Config->{'ftp_passive'} ? :
588 0 38 unless $scheme and "file" eq $scheme
591 0 38 if ($defaultsites) { }
592 0 0 unless (defined $CPAN::FTP::connect_to_internet_ok)
602 0 0 if ($answer =~ /^y/i) { }
608 0 0 if ($CPAN::FTP::connect_to_internet_ok) { }
619 38 0 $level =~ /dleasy/ ? :
623 0 38 if $CPAN::DEBUG
625 0 38 if (my $recommend = $self->_recommend_url_for($file, \@urllist))
629 0 38 if $CPAN::DEBUG
631 38 0 if ($ret) { }
632 0 38 if $CPAN::DEBUG
633 0 38 if ($ret eq $aslocal_tempfile) { }
38 0 elsif (-f $ret and $scheme eq 'file') { }
636 0 0 unless rename $aslocal_tempfile, $aslocal
649 0 38 if $CPAN::DEBUG
653 0 0 if $CPAN::Signal
656 38 0 if ($ret)
659 0 38 if $CPAN::DEBUG
661 0 38 if $CPAN::DEBUG
662 38 0 if ($ret)
666 0 0 unless ($CPAN::Signal)
669 0 0 if (@{$CPAN::Config->{'urllist'};}) { }
682 0 0 if ($maybe_restore)
694 0 0 unless -w $aslocal_dir
705 38 0 if $scheme
726 0 38 if $CPAN::DEBUG
727 38 0 if ($url =~ /^file:/)
729 38 0 if ($CPAN::META->has_inst('URI::URL')) { }
742 0 0 if not -f $l and $l =~ m[^/\w:]
745 0 38 if $CPAN::DEBUG
746 28 10 if (-f $l and -r _)
753 10 0 if ($l =~ /(.+)\.gz$/) { }
0 0 elsif (-f $l and -r _) { }
0 0 elsif (-f "$l.gz") { }
755 10 0 if (-f $ungz and -r _) { }
0 0 elsif (-f $l and -r _) { }
761 0 0 if (-f $aslocal and -s _) { }
0 0 elsif (not -s $aslocal) { }
0 0 elsif (-f $l) { }
769 0 0 if $@
783 0 0 if $CPAN::DEBUG
785 0 0 if (-f $aslocal) { }
790 0 0 if $@
797 0 0 if $CPAN::DEBUG
798 0 0 if ($CPAN::META->has_usable('LWP')) { }
0 0 elsif ($url =~ /^http:/i and $CPAN::META->has_usable('HTTP::Tiny')) { }
800 0 0 unless ($CPAN::FTP::Ua)
803 0 0 if ($@)
808 0 0 if ($res->is_success) { }
0 0 elsif (not $url =~ /\.gz(?!\n)\Z/) { }
819 0 0 if ($res->is_success)
820 0 0 if (eval { do { "CPAN::Tarzip"->new("$aslocal.gz")->gunzip($aslocal) } })
841 0 0 !($url =~ /\.gz(?!\n)\Z/) ? :
844 0 0 if ($res and $res->{'success'}) { }
0 0 elsif ($res and $res->{'status'} ne '599') { }
0 0 elsif ($res and $res->{'status'} eq '599') { }
876 0 0 if $CPAN::Signal
877 0 0 if ($url =~ m[^ftp://(.*?)/(.*)/(.*)])
879 0 0 if $CPAN::DEBUG
881 0 0 if ($CPAN::META->has_usable('Net::FTP')) { }
884 0 0 if $CPAN::DEBUG
886 0 0 if ("CPAN::FTP"->ftp_get($host, $dir, $getfile, $aslocal))
890 0 0 unless ($aslocal =~ /\.gz(?!\n)\Z/)
893 0 0 if ("CPAN::FTP"->ftp_get($host, $dir, "$getfile.gz", $gz) and eval { do { "CPAN::Tarzip"->new($gz)->gunzip($aslocal) } })
905 0 0 if $CPAN::DEBUG
908 0 0 if (UNIVERSAL::can($ro_url, "text") and $ro_url->{'FROM'} eq "USER")
916 0 0 if $ret
918 0 0 if $CPAN::Signal
945 0 0 if ($url =~ m[^([^:]+)://(.*?)/(.*)/(.*)]) { }
951 0 0 if $proto eq "file"
957 0 0 if $CPAN::DEBUG
964 0 0 unless defined $funkyftp
965 0 0 if $funkyftp =~ /^\s*$/
970 0 0 if ($f eq 'lynx') { }
0 0 elsif ($f eq 'ncftp') { }
0 0 elsif ($f eq 'wget') { }
0 0 elsif ($f eq 'curl') { }
0 0 elsif ($f eq 'ncftpget') { }
973 0 0 unless $url =~ m[\Aftp://]
980 0 0 if ($proxy_vars->{'http_proxy'})
984 0 0 unless $url =~ m[\Aftp://]
997 0 0 if $CPAN::DEBUG
999 0 0 if ($f eq "lynx")
1001 0 0 if (-s $aslocal) { }
1003 0 0 unless open FH, $aslocal
1006 0 0 if ($content =~ /^<.*([45]|Error [45])/is) </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1022">1022</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> if ($wstatus == 0) { } </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1023">1023</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> if (-s $aslocal) </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1031">1031</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> -f $aslocal ? : </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1039">1039</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> if $CPAN::Signal </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1042">1042</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> unless $any_attempt </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1043">1043</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> if ($some_dl_success) { } </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1056">1056</a> </td> <td class="c3"> 2 </td> <td class="c0"> 0 </td> <td class="s"> if ($http_proxy) </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1061">1061</a> </td> <td class="c3"> 2 </td> <td class="c0"> 0 </td> <td class="s"> if ($host) { } </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1063">1063</a> </td> <td class="c3"> 1 </td> <td class="c3"> 1 </td> <td class="s"> if ($host =~ /\Q$domain\E$/) </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1071">1071</a> </td> <td class="c3"> 1 </td> <td class="c3"> 1 </td> <td class="s"> if ($want_proxy) </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1088">1088</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> unless @$host_seq </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1093">1093</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> unless ($ftpbin and length $ftpbin and "MM"->maybe_command($ftpbin)) </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1114">1114</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> if $CPAN::DEBUG </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1115">1115</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> unless ($url =~ m[^ftp://(.*?)/(.*)/(.*)]) </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1125">1125</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> $CPAN::DEBUG{'FTP'} & $CPAN::DEBUG ? : </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1138">1138</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> if (not $netrcfile) { } </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#"></a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> elsif ($netrc->hasdefault or $netrc->contains($host)) { } </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1139">1139</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> if $CPAN::DEBUG </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1141">1141</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> if $CPAN::DEBUG </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1144">1144</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> if ($netrc->protected) { } </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1147">1147</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> if ($netrc->contains($host)) { } </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1167">1167</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> if ($mtime > $timestamp) { } </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1174">1174</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> if $CPAN::Signal </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1205">1205</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> if ($mtime > $timestamp) { } </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1212">1212</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> if $CPAN::Signal </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1222">1222</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> unless $fh->open("|$command") </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1227">1227</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> if $wstatus </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1244">1244</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> if ($blocks) { } </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1251">1251</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> if (-f _) { } </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#"></a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> elsif (-d _) { } </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#"></a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> elsif (-c _) { } </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#"></a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> elsif (-b _) { } </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#"></a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> elsif (-p _) { } </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#"></a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> elsif (-S _) { } </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1267">1267</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> if -u _ </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1268">1268</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> if -g _ </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1269">1269</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> if -k _ </td> </tr> <a name=""> </a> <tr> <td class="h"> <a href="blib-lib-CPAN-FTP-pm.html#1278">1278</a> </td> <td class="c0"> 0 </td> <td class="c0"> 0 </td> <td class="s"> if (-M _ > 182.625) { } </td> </tr> </table> </body> </html>