Branch Coverage

lib/Mojo/IOLoop/ReadWriteProcess.pm
Criterion Covered Total %
branch 176 228 77.1


line true false branch
68 200 184 if ref $_[1] eq 'CODE'
2 27 if ref $_[1] eq 'CODE'
74 0 2 unless $self->read_stream
1 28 unless $self->read_stream
80 0 1 unless $$ == $me
3 26 unless $$ == $me
81 0 1 unless defined $self->_status
8 20 unless defined $self->_status
102 3 0 if $self->verbose
0 0 if $self->verbose
108 0 16 unless $self
0 0 unless $self
110 16 0 unless defined $self->_status
0 0 unless defined $self->_status
128 13 19 $self->separate_err ? :
130 6 26 unless defined $pid
136 2 24 unless $self->set_pipes
140 12 12 $self->separate_err ? :
147 7 426 if $_[0]->pidfile
156 2 57 unless defined $self->_status
157 1 9 if $self->execute
158 3 6 if $self->code
167 1 236 unless $self
174 236 0 unless defined $self->_status
178 183 53 if ($self->_internal_return)
179 0 183 $self->_internal_return->isa('IO::Pipe::End') ? :
183 0 183 unless 'IO::Select'->new($return_reader)->can_read(10)
189 152 30 $rt ? :
1 182 $self->serialize ? :
193 184 52 if ($self->_internal_err)
194 1 183 $self->_internal_err->isa('IO::Pipe::End') ? :
198 1 183 unless 'IO::Select'->new($internal_err_reader)->can_read(10)
203 60 123 if @result_error
216 3 218 unless ref $code eq 'CODE'
224 168 50 if ($self->set_pipes)
225 2 166 unless $input_pipe = 'IO::Pipe'->new
227 2 166 unless $output_pipe = 'IO::Pipe'->new
229 2 166 unless $output_err_pipe = 'IO::Pipe'->new
231 168 0 if ($self->channels)
232 2 166 unless $channel_in = 'IO::Pipe'->new
234 2 166 unless $channel_out = 'IO::Pipe'->new
238 214 4 if ($self->internal_pipes)
239 2 212 unless my $internal_err = 'IO::Pipe'->new
241 2 212 unless my $internal_return = 'IO::Pipe'->new
256 0 218 unless defined $pid
258 20 198 if ($pid == 0)
265 20 0 if ($self->internal_pipes)
266 19 1 if ($self->_internal_err)
267 0 19 $self->_internal_err->isa('IO::Pipe::End') ? :
274 19 1 if ($self->_internal_return) { }
275 0 19 $self->_internal_return->isa('IO::Pipe::End') ? :
287 19 1 if ($self->set_pipes)
292 18 1 if $output_pipe
293 17 1 $output_err_pipe ? :
1 18 !$self->separate_err ? :
297 18 1 if $input_pipe
298 0 18 unless open STDERR, '>&', $stderr or not !$internal_err->write($!)
301 0 18 unless open STDOUT, '>&', $stdout or not !$internal_err->write($!)
304 0 18 unless open STDIN, '>&', $stdin or not !$internal_err->write($!)
311 18 0 if ($self->channels)
313 18 0 if $channel_in
314 18 0 if $channel_out
327 0 0 if ($internal_err)
328 0 0 if $@
329 0 0 if not $@ and $!
331 0 0 if not $self->serialize and ref $rt eq 'ARRAY' and scalar @$rt == 1
333 0 0 if $self->serialize and $return
335 0 0 if $return
342 49 149 unless $self->set_pipes
344 148 1 if $output_pipe
345 138 1 $output_err_pipe ? :
10 139 !$self->separate_err ? :
348 148 1 if $input_pipe
350 149 0 if ($self->set_pipes)
351 149 0 if ($self->channels)
352 148 1 if $channel_in
353 148 1 if $channel_out
387 9 3 !!@{(shift())->error;} ? :
390 0 0 $st & 128 ? :
393 31 0 defined $_[0]->_status ? :
0 31 defined $_[0]->_status && $_[0]->quirkiness ? :
399 5 10 $_[0]->is_running ? :
401 819 217 $_[0]->process_id ? :
405 271 260 if $pidfile
406 2 239 unless $self->pid
407 233 6 unless $self->pidfile
416 0 18 unless $stream
421 7 67 unless 'IO::Select'->new($_[0])->can_read(10)
426 1 6 unless 'IO::Select'->new($_[0])->can_read(10)
427 2 4 wantarray ? :
452 1 1 unless $_[0]->separate_err
458 0 14 unless $_[0]->separate_err
464 0 256 if $self->is_running
465 3 218 if not $self->execute and not $self->code
470 207 46 ref $self->args eq 'ARRAY' ? :
253 0 $self->args ? :
474 45 208 if $self->subreaper
477 218 35 if ($self->code) { }
35 0 elsif ($self->execute) { }
495 28 214 unless $self->kill_whole_group or $self->is_running
505 3 222 unless defined $pid
506 172 50 unless $self->is_running
515 2 49 if $self->kill_whole_group
526 222 5 if ($send_signal)
531 28 199 if $ret == $pid or $ret == -1
533 227 0 if ($sleep_time)
538 28 22 if defined $self->_status
540 22 0 if $self->kill_sleeptime
542 16 6 if ($self->blocking_stop) { }
549 15 1 if $ret == $pid or $ret == -1
561 0 190 unless $self->pid
569 55 135 if $wait and not defined $self->_status
571 55 135 unless defined $self->_status
573 70 121 if $self->error and $self->error->size > 0