Branch Coverage

blib/lib/CPAN/FirstTime.pm
Criterion Covered Total %
branch 189 270 70.0


line true false branch
52 47 1 $args{'args'} && @{$args{'args'};} ? :
53 0 48 if ($matcher =~ m[^/(.*)/$]) { }
1 47 elsif (0 == length $matcher) { }
57 0 0 if (@{$args{'args'};})
66 0 47 unless (exists $CPAN::HandleConfig::keys{$arg})
73 0 48 if $CPAN::DEBUG
75 0 48 unless ($CPAN::VERSION)
91 1 47 unless ($matcher)
98 0 48 if ($args{'autoconfig'}) { }
47 1 elsif ($matcher) { }
105 1 0 $_conf && $_conf =~ /^y/i ? :
107 0 48 if $CPAN::DEBUG
110 47 1 if ($manual_conf =~ /^y/i) { }
123 46 0 defined $a ? :
126 46 0 unless ($@)
127 43 3 if (time == $current_second) { }
129 3 40 if ($current_second_count > 20)
136 3 0 if $i_am_mad > 0
138 22 24 if ($i_am_mad > 0)
149 4 44 if (not $matcher or 'cpan_home keep_source_where build_dir' =~ /$matcher/)
152 2 2 if (not $matcher or 'cpan_home' =~ /$matcher/)
156 2 0 if (-d $cpan_home) { }
171 0 2 unless ('File::Spec'->file_name_is_absolute($ans))
182 0 2 if ($@)
187 2 0 if (-d $ans and -w _) { }
197 2 2 if (not $matcher or 'keep_source_where' =~ /$matcher/)
204 2 2 if (not $matcher or 'build_dir' =~ /$matcher/)
216 2 46 if (not $matcher or 'build_cache' =~ /$matcher/)
223 2 46 if (not $matcher or 'index_expire' =~ /$matcher/)
229 2 46 if (not $matcher or 'scan_cache' =~ /$matcher/)
245 2 46 if (not $matcher or 'prerequisites_policy' =~ /$matcher/)
255 2 46 if (not $matcher or 'check_sigs' =~ /$matcher/)
262 2 46 if (not $matcher or 'test_report' =~ /$matcher/)
264 0 2 if ($$CPAN::Config{'test_report'} and $CPAN::META->has_inst('CPAN::Reporter') and 'CPAN::Reporter'->can('configure'))
283 13 35 if (not $matcher or "@external_progs" =~ /$matcher/)
287 0 13 if $^O eq 'MacOS'
291 132 24 if $matcher and not $progname =~ /$matcher/
292 0 24 if ($^O eq 'MacOS')
298 12 12 unless ($matcher)
301 0 12 if $progname eq 'ncftp' and $$CPAN::Config{'ncftpget'} gt ' '
306 8 16 if ('File::Spec'->file_name_is_absolute($path)) { }
0 16 elsif ($path =~ /^\s+$/) { }
317 16 8 unless ($path)
319 2 14 if $Config::Config{$progname}
323 8 16 unless $path
330 2 46 if (not $matcher or 'pager' =~ /$matcher/)
331 0 0 $^O eq 'MacOS' ? :
339 2 46 if (not $matcher or 'shell' =~ /$matcher/)
341 1 1 if ('File::Spec'->file_name_is_absolute($path))
342 0 1 unless -e $path
347 0 2 if $^O eq 'MSWin32'
348 0 2 if ($^O eq 'MacOS') { }
351 0 2 if $^O eq 'os2'
361 2 46 if (not $matcher or 'prefer_installer' =~ /$matcher/)
367 3 45 if (not $matcher or 'makepl_arg make_arg' =~ /$matcher/)
375 48 0 if (exists $CPAN::HandleConfig::keys{'make_install_make_command'})
385 3 45 if (not $matcher or 'mbuildpl_arg mbuild_arg' =~ /$matcher/)
393 48 0 if (exists $CPAN::HandleConfig::keys{'mbuild_install_build_command'})
405 2 46 if (not $matcher or 'inactivity_timeout' =~ /$matcher/)
418 4 44 if (not $matcher or "@proxy_vars @proxy_user_vars" =~ /$matcher/)
422 6 6 if (not $matcher or /$matcher/)
428 3 1 if ($$CPAN::Config{'ftp_proxy'} or $$CPAN::Config{'http_proxy'})
435 3 0 if ($$CPAN::Config{'proxy_user'} = &prompt(, $default))
438 3 0 if ($CPAN::META->has_inst('Term::ReadKey')) { }
444 3 0 if ($CPAN::META->has_inst('Term::ReadKey'))
462 2 46 if (not $matcher or 'getcwd' =~ /$matcher/)
475 1 47 if ('colorize_output colorize_print colorize_warn' =~ /$matcher/)
477 0 1 if ($$CPAN::Config{'colorize_output'})
483 0 0 if ($CPAN::META->has_inst('Term::ANSIColor'))
485 0 0 if ($@)
498 2 46 if (not $matcher or 'term_is_latin' =~ /$matcher/)
507 3 45 if (not $matcher or 'histfile histsize' =~ /$matcher/)
509 0 3 unless defined($default = $$CPAN::Config{'histfile'})
514 3 0 if ($$CPAN::Config{'histfile'})
515 0 3 unless defined($default = $$CPAN::Config{'histsize'})
524 2 46 if (not $matcher or 'show_upload_date' =~ /$matcher/)
527 0 2 unless defined($default = $$CPAN::Config{'show_upload_date'})
529 0 2 $default ? :
531 1 1 $ans =~ /^[y1]/i ? :
538 47 1 if ($matcher) { }
1 0 elsif ($fastread) { }
539 2 45 if ('urllist' =~ /$matcher/)
558 47 1 if ($matcher) { }
571 24 188 if (not $m or $item =~ /$m/) { }
581 6 193 unless defined($default = $$CPAN::Config{$item})
584 15 184 if (not $m or $item =~ /$m/) { }
585 8 7 if (my $intro = $prompts{$item . '_intro'})
588 6 9 $default ? :
589 8 7 $ans =~ /^[y1]/i ? :
601 8 0 if (not $m or $item =~ /$m/) { }
615 0 2 if (-f $mby and -f $m and -M $m < -M $mby)
617 0 0 unless File::Copy::copy($m, $mby)
622 2 0 if ($mby and -f $mby and -M _ <= 60 and -s _ > 0)
632 0 2 unless $ans =~ /^y/i
635 0 2 if ($overwrite_local) { }
0 2 elsif (not -f $mby) { }
0 2 elsif (-M $mby > 60 and $loopcount == 0) { }
0 2 elsif (-s $mby == 0) { }
666 8 154 if ($abs = 'MM'->maybe_command($abs))
674 0 5 if $CPAN::DEBUG
685 2 3 if $limit > 15
689 3 2 if $pos >= @$items
700 0 5 if (grep((/\D/ || $_ < 1 || $_ > $i), @nums))
702 0 0 if ("@nums" =~ /\D/)
707 0 5 if ($require_nonempty and not @nums)
713 0 5 unless @nums
723 0 10 unless $nums
725 3 2 if ($n =~ /^(\d+)-(\d+)$/) { }
744 5 0 $default ? :
745 2 3 if $pos < @$items
754 0 2 unless my $local = shift @_
758 0 2 unless $fh->open($local)
761 2352 6130 unless defined $host
762 1788 6694 unless defined $host
763 5566 1128 unless /\s+dst_(dst|location)/
764 564 564 if /location\s+=\s+"([^"]+)/ and @location = split(/\s*,\s*/, $1, 0)
768 564 564 if /dst_dst\s+=\s+"([^"]+)/
769 564 564 unless $host and $dst and $continent and $country
785 2 0 if (@previous_urls)
799 8 1 if @cont > 1
802 1 1 if (@previous_urls and @countries)
807 1 1 if (@countries)
816 0 8 if $country =~ /edit previous picks/
820 8 0 if @countries > 1
829 2 0 if (@previous_urls)
845 0 2 unless (%seen)
852 0 2 if ($ans)
854 0 0 unless $ans =~ /:/
855 0 0 if ($ans =~ m[^\w+:/.]) { }
856 0 0 unless $seen{$ans}++
885 46 60 unless (defined &_real_prompt)
1324 0 4 if @prompts % 2
1329 0 4 if (scalar keys %prompts != scalar(@prompts) / 2)
1332 0 0 if $item % 2
1333 0 0 if $already{$prompts[$item]}++