Condition Coverage

blib/lib/CPAN/InGit/Server.pm
Criterion Covered Total %
condition 15 39 38.4


and 3 conditions

line !l l&&!r l&&r condition
28 0 1 4 defined $current_tree and $atree->tree->id eq $current_tree->id
33 4 0 2 not $atree and $atree = $c->cpan_repo->get_archive_tree($branch_name)
34 2 0 0 $c->branch_head_only and not defined $atree->branch
69 0 0 0 builtin::blessed($atree) and $atree->can("get_path")
112 0 1 0 $path =~ /(.*?)\.gz\z/u and $ent = $c->archive_tree->get_path($1)
1 0 0 $path =~ /(.*?)\.gz\z/u and $ent = $c->archive_tree->get_path($1) and $ent->[0]->is_blob
0 0 1 $path =~ /(.*?)\.tar\.gz\z/u and $ent = $c->archive_tree->get_path("$1.meta")
0 0 1 $path =~ /(.*?)\.tar\.gz\z/u and $ent = $c->archive_tree->get_path("$1.meta") and $ent->[0]->is_blob
0 0 1 $path =~ /(.*?)\.tar\.gz\z/u and $ent = $c->archive_tree->get_path("$1.meta") and $ent->[0]->is_blob and $ent = $c->archive_tree->get_path($1)
0 0 1 $path =~ /(.*?)\.tar\.gz\z/u and $ent = $c->archive_tree->get_path("$1.meta") and $ent->[0]->is_blob and $ent = $c->archive_tree->get_path($1) and $ent->[0]->is_tree

or 3 conditions

line l !l&&r !l&&!r condition
21 9 6 0 $c->stash->{'archive_tree'} //= do { my $branch_name = $c->branch_name; my $cache = $c->branch_cache; my $atree = $cache->{$branch_name}; if ($atree) { my $current_tree = $c->cpan_repo->lookup_tree($branch_name); unless (defined $current_tree and $atree->tree->id eq $current_tree->id) { delete $cache->{$branch_name}; $atree = undef; } ; } ; if (not $atree and $atree = $c->cpan_repo->get_archive_tree($branch_name)) { if ($c->branch_head_only and not defined $atree->branch) { $c->log->debug("Branch '${branch_name}' is not a branch HEAD"); $atree = undef; } else { $cache->{$branch_name} = $atree; } ; } ; $atree }
48 6 0 0 $c->stash->{'branch_cache'} //= do { warn "no branch_cache, creating temporary"; $c->_new_cache }
73 0 1 0 $options{'branch_cache'} //= $class->_new_cache