Branch Coverage

blib/lib/Container/Buildah/Subcommand.pm
Criterion Covered Total %
branch 90 230 39.1


line true false branch
33 5 24 if (exists $defs->{'extract'})
34 1 4 if (ref $defs->{'extract'} ne 'ARRAY')
38 5 3 if (exists $params->{$argname})
53 2 26 if (exists $defs->{'arg_init'})
54 0 2 if (not ref $defs->{'arg_init'}) { }
1 1 elsif (ref $defs->{'arg_init'} eq 'ARRAY') { }
71 3 24 if (exists $defs->{'exclusive'})
72 1 2 if (ref $defs->{'exclusive'} ne 'ARRAY')
76 2 0 if (exists $params->{$argname})
78 1 1 if (scalar keys %$params > 1)
96 2 23 if (exists $defs->{'arg_flag'})
97 1 1 if (ref $defs->{'arg_flag'} ne 'ARRAY')
101 1 0 if (exists $params->{$argname})
102 0 1 if (ref $params->{$argname})
119 4 20 if (exists $defs->{'arg_flag_str'})
120 1 3 if (ref $defs->{'arg_flag_str'} ne 'ARRAY')
124 3 0 if (exists $params->{$argname})
125 0 3 if (ref $params->{$argname})
128 1 2 if ($params->{$argname} ne 'true' and $params->{$argname} ne 'false')
145 4 18 if (exists $defs->{'arg_str'})
146 1 3 if (ref $defs->{'arg_str'} ne 'ARRAY')
150 4 1 if (exists $params->{$argname})
151 1 3 if (ref $params->{$argname})
168 4 16 if (exists $defs->{'arg_array'})
169 1 3 if (ref $defs->{'arg_array'} ne 'ARRAY')
173 3 0 if (exists $params->{$argname})
174 1 2 if (not ref $params->{$argname}) { }
1 1 elsif (ref $params->{$argname} eq 'ARRAY') { }
198 4 14 if (exists $defs->{'arg_list'})
199 1 3 if (ref $defs->{'arg_list'} ne 'ARRAY')
203 3 0 if (exists $params->{$argname})
204 1 2 if (not ref $params->{$argname}) { }
1 1 elsif (ref $params->{$argname} eq 'ARRAY') { }
266 1 15 if (%$params)
296 2 16 unless (exists $cb->{'prog'})
302 1 17 unless (defined $progname)
307 5 12 if (exists $prog->{$progname})
313 1 11 if (exists $ENV{$envprog} and -x $ENV{$envprog})
321 10 34 if (-x "$path/$progname")
329 1 10 unless (defined $found)
344 10 0 ref $class_or_obj ? :
345 10 0 exists $opts->{'name'} ? :
357 2 7 if ($opts->{'capture_output'} // 0) { }
0 7 elsif ($opts->{'suppress_output'} // 0) { }
362 0 9 if ($opts->{'suppress_error'} // 0)
368 0 8 if ($? == -1)
371 0 8 if ($? & 127)
372 0 0 $? & 128 ? :
376 8 0 if (exists $opts->{'save_retcode'} and ref $opts->{'save_retcode'} eq 'SCALAR')
379 4 4 if ($retcode != 0) { }
1 6 elsif (exists $opts->{'zero'} and ref $opts->{'zero'} eq 'CODE') { }
382 2 2 if (exists $opts->{'nonzero'} and ref $opts->{'nonzero'} eq 'CODE') { }
392 4 6 unless (eval { do { Container::Buildah::disallow_undef(\@in_args); $cb->debug({'level', 4}, "cmd $name " . join(' ', @in_args)); my $outdest = \*STDOUT; my $errdest = \*STDERR; if ($opts->{'capture_output'} // 0) { $outdest = \$outstr; } elsif ($opts->{'suppress_output'} // 0) { $outdest = '/dev/null'; } ; if ($opts->{'suppress_error'} // 0) { $errdest = '/dev/null'; } ; IPC::Run::run(\@in_args, '<', \(undef), '>', $outdest, '2>', $errdest); if ($? == -1) { confess('failed to execute command (' . join(' ', @in_args) . "): $!"); } ; if ($? & 127) { confess(sprintf('command (' . join(' ', @in_args) . " child died with signal %d, %s coredump\n", $? & 127, $? & 128 ? 'with' : 'without')); } ; my $retcode = $? >> 8; if (exists $opts->{'save_retcode'} and ref $opts->{'save_retcode'} eq 'SCALAR') { ${$$opts{'save_retcode'};} = $retcode; } ; if ($retcode != 0) { if (exists $opts->{'nonzero'} and ref $opts->{'nonzero'} eq 'CODE') { &{$opts->{'nonzero'};}($retcode); } else { confess("non-zero status ($retcode) from cmd " . join(' ', @in_args)); } ; } elsif (exists $opts->{'zero'} and ref $opts->{'zero'} eq 'CODE') { &{$opts->{'zero'};}(); } ; 1 } })
393 4 0 if ($@)
405 0 0 ref $class_or_obj ? :
409 0 0 if (ref $in_args[0] eq 'HASH')
430 0 0 ref $class_or_obj ? :
432 0 0 if (ref $in_args[0] eq 'HASH')
462 0 0 ref $class_or_obj ? :
464 0 0 if (ref $in_args[0] eq 'HASH')
485 0 0 ref $class_or_obj ? :
487 0 0 if (ref $in_args[0] eq 'HASH')
506 0 0 unless (defined $image)
521 0 0 ref $class_or_obj ? :
523 0 0 if (ref $in_args[0] eq 'HASH')
545 0 0 ref $class_or_obj ? :
547 0 0 if (ref $in_args[0] eq 'HASH')
571 0 0 ref $class_or_obj ? :
573 0 0 if (ref $in_args[0] eq 'HASH')
579 0 0 unless (defined $object_id)
599 0 0 ref $class_or_obj ? :
601 0 0 if (ref $in_args[0] eq 'HASH')
607 0 0 unless (defined $list_or_index)
611 0 0 unless (defined $image)
632 0 0 ref $class_or_obj ? :
634 0 0 if (ref $in_args[0] eq 'HASH')
640 0 0 unless (defined $list_or_index)
644 0 0 unless (defined $digest)
665 0 0 ref $class_or_obj ? :
667 0 0 if (ref $in_args[0] eq 'HASH')
673 0 0 unless (defined $list_or_index)
696 0 0 ref $class_or_obj ? :
698 0 0 if (ref $in_args[0] eq 'HASH')
704 0 0 unless (defined $list_or_index)
722 0 0 ref $class_or_obj ? :
724 0 0 if (ref $in_args[0] eq 'HASH')
730 0 0 unless (defined $list_or_index)
753 0 0 ref $class_or_obj ? :
755 0 0 if (ref $in_args[0] eq 'HASH')
761 0 0 unless (defined $list_or_index)
765 0 0 unless (defined $image_manifest_digest)
784 0 0 ref $class_or_obj ? :
786 0 0 if (ref $in_args[0] eq 'HASH')
808 0 0 ref $class_or_obj ? :
810 0 0 if (ref $in_args[0] eq 'HASH')
816 0 0 unless (defined $image)
839 0 0 ref $class_or_obj ? :
841 0 0 if (ref $in_args[0] eq 'HASH')
866 0 0 ref $class_or_obj ? :
868 0 0 if (ref $in_args[0] eq 'HASH')
889 0 0 ref $class_or_obj ? :
891 0 0 if (ref $in_args[0] eq 'HASH')
900 0 0 unless my $image = $extract->{'image'}
915 0 0 ref $class_or_obj ? :
917 0 0 if (ref $in_args[0] eq 'HASH')
942 0 0 ref $class_or_obj ? :
944 0 0 if (ref $in_args[0] eq 'HASH')
967 0 0 ref $class_or_obj ? :
969 0 0 if (ref $in_args[0] eq 'HASH')
992 0 0 ref $class_or_obj ? :
994 0 0 if (ref $in_args[0] eq 'HASH')
1006 0 0 if (exists $extract->{'container'})
1007 0 0 if (exists $extract->{'envname'}) { }
1028 0 0 ref $class_or_obj ? :
1030 0 0 if (ref $in_args[0] eq 'HASH')