Branch Coverage

blib/lib/POE/Wheel/Run.pm
Criterion Covered Total %
branch 215 382 56.2


line true false branch
24 0 73 if $^O eq "MacOS"
28 0 73 if ($@) { }
39 0 73 if ($@) { }
48 0 73 if (POE::Kernel::RUNNING_IN_HELL())
50 0 0 if ($@)
56 0 0 if ($@)
59 0 0 if ($@)
62 0 0 if ($@)
65 0 0 if ($@)
77 0 73 unless $max_open_fds
79 0 73 if $@
121 0 379 if @_ & 1
124 0 379 if @_ and ref $_[0] eq "POE::Kernel"
127 0 379 unless defined $POE::Wheel::Run::poe_kernel
130 16 363 unless defined $program
133 260 103 unless defined $prog_args
134 0 363 unless ref $prog_args eq "ARRAY"
138 363 0 unless defined $priority_delta
141 363 0 unless defined $close_on_call
158 72 291 if (defined $conduit) { }
159 16 4 if $conduit ne "pipe" and $conduit ne "pty" and $conduit ne "pty-pipe" and $conduit ne "socketpair" and $conduit ne "inet"
166 30 26 unless ($conduit =~ /^pty(-pipe)?$/)
177 0 347 if ($winsize)
178 0 0 if not $conduit =~ /^pty(-pipe)?$/ and $winsize
181 0 0 if ("ARRAY" eq ref $winsize and 2 == @$winsize)
187 0 0 unless ref $winsize eq "ARRAY" and scalar @$winsize == 4
198 0 347 if ($conduit eq "pty" and defined $stderr_event)
224 4 343 if (defined $redir_output)
229 16 331 if (defined $redir_in and defined $stdin_event or defined $redir_out and defined $stdout_event or defined $redir_err and defined $stderr_event)
235 16 315 if (defined $stdio_filter) { }
237 16 0 if defined $params{'StdioFilter'}
238 0 0 if defined $stderr_event and not defined $stderr_filter
245 221 94 unless defined $stdio_filter
248 225 90 unless defined $stdin_filter
249 225 90 unless defined $stdout_filter
251 0 315 if ($conduit eq 'pty' and defined $stderr_filter) { }
256 233 82 unless defined $stderr_filter
260 0 315 if defined $stdin_event and not defined $stdin_filter
262 0 315 if defined $stdout_event and not defined $stdout_filter
264 0 315 if defined $stderr_event and not defined $stderr_filter
274 0 315 if (scalar keys %params)
282 261 54 unless (ref $program eq "CODE")
283 0 261 unless defined fileno STDIN and fileno STDIN == 0
285 0 261 unless tied *STDOUT or defined fileno STDOUT and fileno STDOUT == 1
287 0 259 unless tied *STDERR or defined fileno STDERR and fileno STDERR == 2
297 4 311 if ($redir_output) { }
309 0 315 unless defined $sem_pipe_read
313 8 2 if (defined $stdout_event or defined $stdin_event or defined $stderr_event or not $no_stdin)
319 26 287 if ($conduit =~ /^pty(-pipe)?$/) { }
287 0 elsif ($conduit eq 'pipe') { }
322 0 26 if (defined $redir_err or defined $redir_in or defined $redir_out)
327 0 26 unless defined $stdout_read
328 12 14 if ($conduit eq "pty-pipe")
330 0 12 unless defined $stderr_read and defined $stderr_write
348 631 230 if (defined $evname and not defined $$redir_ref)
350 0 631 unless defined $$rfd_ref and defined $$wfd_ref
354 283 4 unless (defined $redir_in or $no_stdin)
356 0 283 unless defined $stdin_write and defined $stdin_read
369 315 0 if ($POE::Wheel::Run::poe_kernel->can("_data_sig_mask_all"))
378 49 266 unless ($pid)
382 0 49 unless defined $pid
386 0 49 if (tied *STDIN)
391 0 49 if (tied *STDOUT)
396 1 48 if (tied *STDERR)
403 4 45 if ($conduit =~ /^pty(-pipe)?$/) { }
414 0 4 unless defined $stdin_read
418 2 2 if $conduit eq "pty"
425 0 4 if ($winsize)
438 45 0 unless $no_setpgrp
446 49 0 if $must_unmask
455 0 49 if ($priority_delta)
457 0 0 if (defined(my $priority = getpriority(0, $$))) { }
458 0 0 unless (setpriority 0, $$, $priority + $priority_delta)
466 0 0 if ($@)
473 0 49 if (defined $group_id)
479 0 49 if (defined $user_id)
484 47 2 if defined $stdin_write
485 46 3 if defined $stdout_read
486 29 20 if defined $stderr_read
488 0 49 if (POE::Kernel::RUNNING_IN_HELL()) { }
509 2 47 if (ref $program eq "CODE")
517 0 2 if ($close_on_call)
519 0 0 if fileno STDIN == $_
520 0 0 if fileno STDOUT == $_
521 0 0 if fileno STDERR == $_
533 0 0 if ($@)
546 0 47 if POE::Kernel::RUNNING_IN_HELL()
555 47 0 if (ref $program eq "ARRAY")
556 0 0 unless exec @$program, @$prog_args
562 0 0 unless exec join(" ", $program, @$prog_args)
569 242 24 if defined $stdin_read
570 239 27 if defined $stdout_write
571 177 89 if defined $stderr_write
576 22 244 if defined $stdout_read and ref $stdout_read eq "IO::Pty"
580 0 266 if defined $stderr_read and ref $stderr_read eq "IO::Pty"
585 259 7 if $stdout_event and $stdout_read
586 175 91 if $stderr_event and $stderr_read
621 266 0 if $must_unmask
629 0 266 if $chldout ne "go"
633 262 4 if defined $stdin_write
634 259 7 if defined $stdout_read
635 175 91 if defined $stderr_read
673 0 146 if ($!) { }
674 0 0 if $$error_event
686 146 0 unless ($$stdin_octets)
688 66 80 if $$stdin_event
697 262 0 unless $self->[14]
711 0 259 unless defined $self->[15]
715 0 259 unless ($$stdout_event)
733 223 36 if ($stdout_filter->can('get_one') and $stdout_filter->can('get_one_start')) { }
745 57 151 if (defined(my $raw_input = $driver->get($handle))) { }
749 57 57 unless @$next_rec
756 61 90 if $$error_event
760 117 34 unless (--$$is_active)
761 44 73 if defined $$close_event
780 16 10 if (defined(my $raw_input = $driver->get($handle))) { }
786 10 0 if $$error_event
791 8 2 unless (--$$is_active)
792 8 0 if defined $$close_event
813 0 175 unless defined $self->[20]
817 0 175 unless ($$stderr_event)
833 149 26 if ($stderr_filter->can('get_one') and $stderr_filter->can('get_one_start')) { }
845 16 76 if (defined(my $raw_input = $driver->get($handle))) { }
849 16 16 unless @$next_rec
856 61 15 if $$error_event
860 34 42 unless (--$$is_active)
861 33 1 if defined $$close_event
880 4 6 if (defined(my $raw_input = $driver->get($handle))) { }
886 6 0 if $$error_event
890 2 4 unless (--$$is_active)
891 2 0 if defined $$close_event
909 0 164 if scalar @_ & 1
916 82 318 if ($name eq 'StdinEvent') { }
82 236 elsif ($name eq 'StdoutEvent') { }
72 164 elsif ($name eq 'StderrEvent') { }
82 82 elsif ($name eq 'ErrorEvent') { }
82 0 elsif ($name eq 'CloseEvent') { }
925 72 0 if ($self->[5] ne 'pty') { }
946 164 0 if $self->[18] and $self->[15]
947 144 0 if $self->[23] and $self->[20]
957 2 201 if ref "POE::Kernel"->get_active_session eq "POE::Kernel"
960 197 4 if ($self->[9])
965 199 2 if ($self->[13])
970 196 5 if ($self->[15])
974 196 5 if ($self->[19])
979 118 83 if ($self->[20])
983 118 83 if ($self->[24])
998 2 222 unless $self->[9]
1002 222 0 if ($self->[14] = $self->[11]->put($self->[10]->put(\@chunks)))
1018 0 2 unless defined $self->[15]
1024 0 2 unless defined $self->[20]
1030 0 2 unless defined $self->[15]
1036 0 2 unless defined $self->[20]
1043 0 2 unless defined $self->[9]
1048 2 0 if ($@ or $self->[9] != $self->[15])
1068 0 0 if (defined $buf)
1069 0 0 if ($old_output_filter->can('get_one') and $old_output_filter->can('get_one_start')) { }
1080 0 0 unless @$next_rec
1111 0 0 if (defined $buf)
1112 0 0 if ($old_output_filter->can('get_one') and $old_output_filter->can('get_one_start')) { }
1123 0 0 unless @$next_rec
1210 4 0 unless defined $signal
1211 0 4 if ($self->[25]) { }
1213 0 0 Win32::Process::KillProcess($self->[25], 293) ? :
1252 0 0 if defined $stdin_read
1257 0 0 if defined $stdout_write
1262 0 0 if defined $stderr_write
1270 933 12 unless defined $fspec
1271 12 0 if (ref $fspec) { }
1272 12 0 if (ref $fspec eq 'GLOB') { }
1289 49 0 if (defined $stdin_read)
1290 0 49 unless open STDIN, '<&' . fileno($stdin_read)
1296 48 1 if (defined $stdout_write)
1297 0 48 unless open STDOUT, '>&' . fileno($stdout_write)
1302 33 16 if (defined $stderr_write)
1303 0 33 unless open STDERR, '>&' . fileno($stderr_write)
1314 0 0 if defined fileno STDIN
1315 0 0 if defined fileno STDOUT
1316 0 0 if defined fileno STDERR
1321 0 0 if (POE::Kernel::RUNNING_IN_HELL()) { }
1352 0 0 if ($close_on_call)
1354 0 0 if fileno STDIN == $_
1355 0 0 if fileno STDOUT == $_
1356 0 0 if fileno STDERR == $_
1363 0 0 if (ref $program eq 'ARRAY') { }
1367 0 0 if (/\s/ and not /"/) { }
1375 0 0 if (/\s/ and not /"/) { }
1382 0 0 unless ($w32job = "Win32::Job"->new)
1391 0 0 unless ($w32pid = $w32job->spawn($appname, $cmdline))
1406 0 0 if defined fileno STDOUT
1407 0 0 if defined fileno STDERR