Branch Coverage

blib/lib/App/Rakubrew.pm
Criterion Covered Total %
branch 67 208 32.2


line true false branch
47 0 12 unless (-d $App::Rakubrew::prefix)
48 0 0 unless mkdir $App::Rakubrew::prefix
51 2 10 unless -d catdir($App::Rakubrew::prefix, "bin")
52 2 10 unless -d catdir($App::Rakubrew::prefix, "update")
53 2 10 unless -d catdir($App::Rakubrew::prefix, "repos")
54 2 10 unless -d $App::Rakubrew::shim_dir
55 1 11 unless -d $App::Rakubrew::versions_dir
56 2 10 unless -d $App::Rakubrew::git_reference
62 1 0 if ($prog_name ne $App::Rakubrew::brew_name and !($^O =~ /win32/i) || $prog_name =~ /^\Q$App::Rakubrew::brew_name\E\z/i)
70 0 11 if @args >= 2 and $args[0] eq "internal_shell_hook"
71 11 0 if @args >= 2 and $args[0] eq "internal_hooked"
72 0 11 if @args == 2 and $args[0] eq "init"
73 0 5 if @args == 3 and $args[0] eq "init" and $args[1] eq "--shell"
77 11 0 if (@args >= 2 and $args[0] eq 'internal_hooked') { }
0 0 elsif (get_brew_mode() eq 'env' and not @args && $args[0] eq 'mode' && $args[1] eq 'shim' and not @args && $args[0] eq 'init' and not @args && $args[0] eq 'home' and not @args && $args[0] =~ /^internal_/ or @args and $args[0] eq 'shell' or @args >= 2 and $args[0] eq 'mode' and $args[1] eq 'env') { }
99 0 11 if ($arg eq 'version' or $arg eq 'current') { }
5 6 elsif ($arg eq 'versions' or $arg eq 'list') { }
1 5 elsif ($arg eq 'global' or $arg eq 'switch') { }
0 5 elsif ($arg eq 'shell') { }
0 5 elsif ($arg eq 'local') { }
0 5 elsif ($arg eq 'nuke' or $arg eq 'unregister') { }
0 5 elsif ($arg eq 'rehash') { }
0 5 elsif ($arg eq 'list-available' or $arg eq 'available') { }
0 5 elsif ($arg eq 'build-rakudo' or $arg eq 'build') { }
0 5 elsif ($arg eq 'triple') { }
0 5 elsif ($arg eq 'download-rakudo' or $arg eq 'download') { }
1 4 elsif ($arg eq 'register') { }
0 4 elsif ($arg eq 'build-zef') { }
0 4 elsif ($arg eq 'build-panda') { }
0 4 elsif ($arg eq 'exec') { }
0 4 elsif ($arg eq 'which') { }
0 4 elsif ($arg eq 'whence') { }
1 3 elsif ($arg eq 'mode') { }
0 3 elsif ($arg eq 'self-upgrade') { }
1 2 elsif ($arg eq 'init') { }
0 2 elsif ($arg eq 'home') { }
0 2 elsif ($arg eq 'test') { }
0 2 elsif ($arg eq 'internal_shell_hook') { }
0 2 elsif ($arg eq 'internal_win_run') { }
0 2 elsif ($arg eq 'internal_update') { }
0 2 elsif ($arg eq 'rakubrew-version') { }
100 0 0 if (my $c = get_version()) { }
101 0 0 if (@args and $args[0] eq '--short') { }
116 4 10 if is_version_broken($_)
117 5 9 $_ eq $cur ? :
119 2 12 if is_registered_version($_)
124 0 1 if (not @args) { }
126 0 0 if ($version) { }
140 0 0 if (not @args) { }
142 0 0 if (defined $shell_version) { }
151 0 0 if ($version ne "--unset")
158 0 0 if (not @args) { }
160 0 0 if ($version) { }
169 0 0 if ($version eq '--unset') { }
196 0 0 grep({$_->{'ver'} eq $ver;} @downloadables) ? :
197 0 0 $cur_rakudo eq $ver ? :
204 0 0 $cur_backend eq $_ ? :
209 0 0 unless ($ver)
215 0 0 if ($impl eq 'panda') { }
0 0 elsif ($impl eq 'zef') { }
0 0 elsif (not exists $App::Rakubrew::impls{$impl}) { }
219 0 0 unless ($version)
229 0 0 if ($impl eq 'parrot') { }
239 0 0 if (@args and $args[0] =~ /^--configure-opts=/)
246 0 0 if ($configure_opts =~ /--prefix/)
254 0 0 if $impl eq "moar-blead" and $ver eq "main"
256 0 0 if ($impl and $impl eq 'all') { }
266 0 0 if (get_version() eq "system")
278 0 0 if (get_version() eq "system")
287 0 0 unless (exists $App::Rakubrew::impls{$impl})
296 0 0 if (get_version() eq "system")
302 0 1 unless ($name and $path)
306 0 1 if (version_exists($name))
317 0 1 if is_version_path_broken($path)
325 0 0 unless ($version)
340 0 0 if ($param eq '--with') { }
350 0 0 if (not @args) { }
355 0 0 unless ($version)
363 0 0 if (not @args) { }
369 0 0 $pathmode ? :
374 0 1 if (not @args) { }
392 0 0 if (not $version) { }
0 0 elsif ($version eq 'all') { }
405 0 0 if (my $ref = $self->{'hook'}->can($sub))
422 0 0 if ($suffix =~ /^\\\.\(exe\|bat\|cmd\)\z/i) { }
0 0 elsif ($suffix =~ /^\\\.nqp\z/i) { }
432 0 0 if ($first_line =~ /#!.*(perl6|raku)/) { }
0 0 elsif ($first_line =~ /#!.*perl/) { }
456 0 0 if ($_ eq '-v' or $_ eq '--verbose') { }
463 0 2 if ($arg eq 'help' and @args) { }
467 0 0 if $command eq "download"
468 0 0 if $command eq "build"
482 0 0 if $help_text =~ /\A\s*\Z/
486 0 2 $verbose ? :
504 0 1 unless ($version)
510 1 0 if (grep {$_ eq $version;} get_versions()) { }
516 0 0 if (@match)
529 0 0 unless (-d $v_dir)
536 0 0 unless (-f "Makefile")
549 0 0 if (is_registered_version($matched)) { }
0 0 elsif ($matched eq 'system') { }
0 0 elsif ($matched eq get_version()) { }
573 1 0 if (@_ == 1) { }
618 0 1 if ($App::Rakubrew::distro_format eq "macos" or $App::Rakubrew::distro_format eq "macos_arm")