Branch Coverage

blib/lib/No/Worries/Proc.pm
Criterion Covered Total %
branch 115 200 57.5


line true false branch
47 54 0 if ($cmd[0] =~ m[/]) { }
48 0 54 unless -f $cmd[0] and -x _
52 0 0 unless length $dir and -d $dir
53 0 0 unless -f "$dir/$cmd[0]" and -x _
57 0 0 unless $cmd[0] =~ m[/]
106 64 1 if $ios
107 0 65 unless close $fh
122 44 0 unless $$proc{"fh$what"} and $$proc{"cb$what"}
128 45 43 unless $$proc{"fh$what"} and $$proc{"cb$what"}
135 0 50 unless defined $done
150 44 1994 if (waitpid($proc->{'pid'}, 1) == $proc->{'pid'})
159 1994 0 if (kill 0, $proc->{'pid'} or $! == 1)
174 43 11 unless defined $stdin
176 6 5 if ($ref eq '') { }
5 0 elsif ($ref eq 'SCALAR') { }
177 0 6 if ($stdin eq '') { }
181 0 6 unless open $rdrin, '<', $stdin
185 0 5 unless pipe $rdrin, $wrtin
199 2 52 unless defined $stdout
201 8 44 if ($ref eq '') { }
44 0 elsif ($ref eq 'CODE' or $ref eq 'SCALAR') { }
202 0 8 if ($stdout eq '') { }
206 0 8 unless open $wrtout, '>', $stdout
210 0 44 unless pipe $rdrout, $wrtout
213 0 44 if ($ref eq 'CODE') { }
232 15 39 unless defined $stderr
234 9 30 if ($ref eq '') { }
30 0 elsif ($ref eq 'CODE' or $ref eq 'SCALAR') { }
235 9 0 if ($stderr eq '') { }
240 0 0 unless open $wrterr, '>', $stderr
244 0 30 unless pipe $rdrerr, $wrterr
247 0 30 if ($ref eq 'CODE') { }
271 2 7 if ($rdrin)
273 2 0 if (fileno STDIN != $fd)
274 0 2 unless open *STDIN, "<&=$fd"
279 8 1 if ($wrtout)
281 8 0 if (fileno STDOUT != $fd)
282 0 8 unless open *STDOUT, ">&=$fd"
287 6 3 if ($wrterr or $merge)
288 1 5 $merge ? :
289 6 0 if (fileno STDERR != $fd)
290 0 6 unless open *STDERR, ">&=$fd"
321 0 54 if (defined $option{'cwd'})
322 0 0 unless -d $option{'cwd'}
330 0 54 unless defined $proc{'pid'}
336 9 45 unless ($proc{'pid'})
340 0 9 if defined $option{'cwd'}
343 27 0 unless tied $glob
349 14 13 unless $fh
350 0 13 unless close $fh
356 0 0 unless exec {$proc{'command'}[0];} @{$proc{'command'};}
367 6 39 if (defined $option{'timeout'})
371 0 45 if $option{'kill'}
374 57 78 unless $fh
375 0 78 unless close $fh
396 0 7 if (ref $proc eq '') { }
7 0 elsif (ref $proc eq 'HASH') { }
397 0 0 unless $proc =~ /^\d+$/
404 6 1 if @_
409 7 0 if ($spec =~ m[^([A-Z]+)/($nbre)$]) { }
414 0 7 unless (kill $sig, $pid)
415 0 0 unless $! == 3
419 7 7 unless &_is_alive($proc, $option{'_iosr'}, $option{'_iosw'})
422 0 0 unless &_is_alive($proc, $option{'_iosr'}, $option{'_iosw'})
426 0 0 unless (kill $sig, $pid)
427 0 0 unless $! == 3
450 73 65 unless $fh
451 4 61 if ($what eq 'in') { }
459 8 36 unless $iosr->count
460 40 4 unless $iosw->count
476 0 57 unless defined $done
480 18 39 unless ($done)
496 4 4 if (length $buf) { }
498 0 4 unless defined $done
517 1987 37 if &_is_alive($proc, $iosr, $iosw)
523 258 6 unless $now > $proc->{'maxtime'}
551 42 2 if (ref $procs eq 'HASH') { }
0 2 elsif (ref $procs ne 'ARRAY') { }
556 2 42 if @_
567 1 43 if defined $option{'timeout'}
573 1431 553 if $iosr
576 8 1976 if $iosw
580 0 1984 if $maxtime and &Time::HiRes::time() > $maxtime
584 1 1983 if $option{'deaths'} and grep(defined($_->{'status'}), values %{$process;}) >= $zombies + $option{'deaths'}
586 1924 59 if $timeout
588 588 1395 unless $iosr and $iosr->count
589 1979 4 unless $iosw and $iosw->count
606 6 36 if wantarray
620 0 3 if $status
635 0 0 if @_
640 0 0 unless defined $pid
641 0 0 if ($pid)
644 0 0 if $option{'callback'}
649 0 0 if $sid == -1
651 0 0 unless (-f STDIN)
652 0 0 unless open STDIN, '<', '/dev/null'
655 0 0 unless (-f STDOUT)
656 0 0 unless open STDOUT, '>', '/dev/null'
659 0 0 unless (-f STDERR)
660 0 0 unless open STDERR, '>', '/dev/null'