Branch Coverage

blib/lib/Zoidberg/Contractor.pm
Criterion Covered Total %
branch 96 276 34.7


line true false branch
62 0 16 unless $$self{'shell'}
73 0 16 if ($$self{'shell'}{'settings'}{'interactive'}) { }
111 195 5 ref $list[0] eq 'HASH' ? :
112 0 200 unless @list
115 225 25 if ref $_
117 0 205 unless @list
118 200 5 if (ref $list[0]) { }
0 5 elsif (@{$$self{'jobs'};}) { }
121 5 195 if $$j{'empty'}
122 195 0 if (not $$meta{'prepare'}) { }
128 0 179 if $@
153 0 0 unless ref $meta eq 'HASH'
160 0 0 if $@
173 0 0 unless @{$$self{'jobs'};}
177 0 0 unless ref($_) =~ /Job/
179 0 0 if ($_->completed) { }
180 0 0 if (@{$$_{'tree'};}) { }
187 0 0 if ($$self{'shell'}{'settings'}{'interactive'})
198 0 13 unless @b
205 0 18 ref $list[0] ? :
207 12 12 $error ? :
213 6 0 $error ? :
268 0 0 if $$_{'id'} eq $id
274 0 0 @{$$self{'jobs'};} ? :
0 0 unless $spec
276 0 0 if $spec eq '%%' or $spec eq '%'
279 0 0 if ($id) { }
0 0 elsif ($q eq '+') { }
0 0 elsif ($q eq '-') { }
0 0 elsif ($q eq '?') { }
280 0 0 if $$_{'id'} == $id
282 0 0 if @{$$self{'jobs'};}
283 0 0 if @{$$self{'jobs'};} > 1
285 0 0 if $$_{'zoidcmd'} =~ /$string/
288 0 0 if $$_{'zoidcmd'} =~ /^\W*$string/
295 0 0 if exists $$self{'_sighash'}{$z}
298 0 0 if $v eq $z
361 200 0 if ($$self{'tree'})
364 0 200 if (@b > 1) { }
367 0 200 if $$self{'tree'}[0] eq 'EOS_BG'
370 5 195 unless @{$$self{'procs'};}
373 0 195 $pipe ? :
378 76 119 if (not $pipe || (defined $$meta{'fork_job'} ? $$meta{'fork_job'} : 0) || $$self{'bg'}) { }
387 0 195 unless ref $_[0]
389 0 195 if (ref $_[0])
391 0 195 if $$self{'prepare'}
394 0 195 unless @{$$self{'procs'};}
398 0 180 if ($$self{'error'}) { }
10 170 elsif ($@) { }
401 10 0 ref $@ ? :
407 180 0 if ($self->completed)
409 6 174 if @{$$self{'tree'};}
412 0 179 if ($$self{'tree'}[0] eq 'EOS_BG')
449 110 9 unless $$self{'capture'}
456 119 0 unless $$self{'shell'}{'settings'}{'interactive'}
461 110 9 if ($$proc[0]{'last'}) { }
468 105 14 if ($pid) { }
475 0 105 if $$self{'shell'}{'settings'}{'interactive'} and not $$self{'bg'}
483 0 14 if $$self{'shell'}{'settings'}{'interactive'} and not $$self{'bg'}
489 0 0 if ($error)
491 0 0 ref $error ? :
0 0 if $error
496 0 105 unless $stdin == fileno STDIN
497 6 99 unless $stdout == fileno STDOUT
498 6 99 unless $$proc[0]{'last'}
501 6 99 $$self{'capture'} ? :
0 105 $$self{'bg'} ? :
512 0 6 exists $ENV{'RS'} && defined $ENV{'RS'} ? :
518 6 0 unless $stdin == fileno STDIN
520 0 6 $$self{'wantarray'} ? :
533 25 3 if $$_[0] == $$_[1]
553 0 90 if ($pwd and $pwd ne $ENV{'PWD'})
555 0 0 unless chdir $pwd
566 89 1 unless $$block[0]{'fd'}
572 0 2 unless $fd =~ /^(\w*)(\W+)(.*)/
574 0 0 $op =~ />/ ? :
575 1 1 if ($op =~ /&=?$/) { }
576 0 1 if (not $f) { }
1 0 elsif ($f =~ /^\d+$/) { }
583 0 0 unless $newfd
587 0 1 unless $f
588 0 0 if $op eq '>' and $$self{'shell'}{'settings'}{'noclobber'} and -e $f
592 0 1 if $op eq '>!'
595 0 1 unless open $fh, $op . $f
600 0 2 unless POSIX::dup2($newfd, $n)
614 0 76 if (my($PWD) = grep({$$_[0] eq 'PWD';} @$save_env))
616 0 0 unless chdir $$PWD[1]
638 0 99 if ($$self{'new'})
643 0 99 if $$self{'bg'}
649 0 99 if $$self{'shell'}{'settings'}{'interactive'}
652 0 99 if ($$self{'stopped'})
658 0 99 if $$self{'shell'}{'settings'}{'interactive'}
661 0 99 if ($$self{'stopped'} or $$self{'terminated'})
662 0 0 if ($$self{'stopped'} and $$self{'shell'}{'settings'}{'notify_verbose'}) { }
670 99 0 if ($self->completed)
672 7 92 if @{$$self{'tree'};}
680 0 0 if ($$self{'stopped'})
691 0 0 unless ($$self{'id'})
718 0 0 if $$self{'new'}
721 0 0 unless $pid > 0
729 0 105 unless $pid
732 0 105 if ($pid == -1) { }
739 0 105 unless $child
741 0 105 if (WIFSTOPPED($status)) { }
743 0 0 if (not $$self{'bg'} and WSTOPSIG($status) == 21 || WSTOPSIG($status) == 22) { }
751 105 0 if ($pid == $$self{'procs'}[-1][0]{'pid'})
753 0 105 if ($status)
759 0 0 if $signal
760 0 0 if $status & 128
761 0 0 $signal ? :
768 0 0 unless $$self{'bg'}
770 0 105 unless ($self->completed)
800 0 0 defined $sig_s ? :
801 0 0 unless $sig
802 0 0 if $kill_tree
803 0 0 if ($$self{'shell'}{'settings'}{'interactive'}) { }
827 0 0 ref $_[0] ? :
828 0 0 unless $$self{'new'}
830 0 0 $$_[0]{'env'} ? :
836 0 0 ref $_[0] ? :
837 0 0 unless $$self{'new'}
839 0 0 /^[0<]/ ? :
860 0 0 if ($$self{'id'})
861 0 0 $self eq $$self{'boss'}{'jobs'}[-2] ? :
0 0 $self eq $$self{'boss'}{'jobs'}[-1] ? :
867 0 0 $$self{'completed'} ? :
0 0 $$self{'terminated'} ? :
0 0 $$self{'core_dump'} ? :
0 0 $$self{'stopped'} ? :
0 0 $$self{'new'} ? :
875 0 0 if $$self{'pwd'} and $$self{'pwd'} ne $ENV{'PWD'}
878 0 0 if ($list) { }
887 0 0 if (ref $$t[$i]) { }
919 0 76 if ($$self{'settings'}{'interactive'}) { }
922 0 0 if (++$ii < 3) { }
929 0 76 if ($$self{'capture'})
943 0 76 if ($$self{'capture'})
952 10 66 if $@