Branch Coverage

blib/lib/Proc/PersistentControl.pm
Criterion Covered Total %
branch 77 176 43.7


line true false branch
241 0 7 if ($^O =~ /^MSWin/)
261 7 0 unless ($$self{'sdir'})
262 7 0 if (not $^O =~ /^MSWin/) { }
263 7 0 -d '/var/tmp' ? :
274 0 7 unless -d $sdir
275 0 7 unless -d $sdir
278 0 7 if ($opthash{'debug'})
281 0 0 if ($size and $size > 102400)
284 0 0 unless open $_debugfh, '>>', $file
288 0 0 if ($@)
294 0 7 if (-e $rdir and not -d $rdir)
298 0 7 unless (-d $rdir)
299 0 0 unless mkpath($rdir)
307 132 0 unless $_debugfh
312 0 0 unless $msg =~ /\n$/
313 0 0 $INC{'Time/HiRes.pm'} ? :
326 0 3 if not $pid or $pid <= 0
328 3 0 unless ($^O =~ /^MSWin/)
336 0 0 if (Win32::Process::Open($process, $pid, 0))
341 0 0 if ($RC == Win32::Process::STILL_ACTIVE())
364 0 0 if ($_unix_grandch_pid)
376 3 0 if ($child == $_unix_grandch_pid)
380 0 3 unless open RC, '>', $_unix_grandch_dir . "/RC=$RC"
383 0 3 unless open I, '>>', $_unix_grandch_dir . '/info'
402 0 15 unless defined $childpid
404 6 9 if ($childpid == 0)
409 0 6 unless open I, '>', $pdir . '/info'
423 0 6 unless open STDOUT, '>', $pdir . '/STDOUT'
425 0 6 unless open STDERR, '>', $pdir . '/STDERR'
428 6 0 if ($$opt{'_closefdmax'} >= 3)
430 60 0 unless $_debugfh and $fd == fileno $_debugfh
442 3 3 if ($_unix_grandch_pid == 0)
455 3 1 if -e $pdir . '/start'
460 0 0 unless exec @cmd
463 0 3 unless defined $_unix_grandch_pid
474 1 2 $$opt{'timeout'} ? :
484 2 1 if $remain > 60
487 3 0 if $_unix_grandch_pid
494 1 2 if ($_unix_grandch_pid and kill 0, $_unix_grandch_pid)
496 0 1 unless open I, '>>', $pdir . '/info'
521 0 0 if $_debugfh
522 0 0 $$opt{'timeout'} ? :
523 0 0 if $timeout > 0
531 0 0 unless Win32::Process::Create($process, $^X, $Arg, 0, 0, '.')
538 0 0 unless open I, '>', $pdir . '/info'
560 1 1 if kill -15, $p and select(undef, undef, undef, 0.2), kill(-3, $p)
564 0 2 if kill 15, $p and select(undef, undef, undef, 0.2), kill(3, $p)
567 2 0 unless kill 0, $p
595 10 67 if /^pid=(\d+)/
596 7 70 if /^RC=(\d+)/
599 7 3 defined $RC ? :
606 0 0 unless opendir D, $sdir
608 0 0 if ($d =~ /^PPC-/)
625 1 0 if (opendir DD, $pdir) { }
628 1 6 if $f =~ /pid=(\d+)$/
631 0 1 unless $pid
648 0 2 unless open I, $infofile
652 17 0 if /([^=]+)=(.*)/
657 0 2 if $^O =~ /^MSWin/
668 0 2 unless opendir D, $pdir
671 2 14 if /^pid=(\d+)/
672 2 14 if /^RC=(\d+)/
675 2 0 if exists $ret{'_RC'}
676 0 0 if ($ret{'_pid'})
678 0 0 if $pidalive
683 2 0 if (exists $ret{'_RC'}) { }
686 0 0 if ($pidalive) { }
715 0 0 if (not $in[0]) { }
721 0 0 if -f $pdir . '/info'
744 0 27 if $o =~ /=/
745 0 27 if $o =~ /^_/
752 0 15 unless $psd and -d $psd
761 15 0 !($^O =~ /^MSWin/) ? :
773 9 9 if -e $psd . '/start'
778 9 0 if (-e $psd . '/start') { }
804 0 0 if ($key)
806 0 0 unless $$i{$key} eq $val
831 0 0 unless (_UID_alive $$self{'sdir'}, $UID)
862 0 1 unless &Proc::PersistentControl::_UID_alive($$self{'_controller'}{'sdir'}, $$self{'_PPCUID'})
870 1 0 !($^O =~ /^MSWin/) ? :
876 1 0 unless $self->IsAlive
880 0 1 if $self->IsAlive
914 0 2 unless $self->IsRipe
922 2 0 if (not -d $target) { }
923 0 0 unless rename $source, $target or move($source, $target) or Proc::PersistentControl::debug("rename/1st move($source, $target) failed, trying again"), select(undef, undef, undef, 0.2), move($source, $target) or Proc::PersistentControl::debug("2nd move($source, $target) failed, trying again"), select(undef, undef, undef, 0.8), move($source, $target)
936 0 2 unless -d $target
950 2 4 if (-d $pdir)
951 0 2 unless rmtree($pdir)