Branch Coverage

lib/Mojo/IOLoop/ReadWriteProcess.pm
Criterion Covered Total %
branch 193 230 83.9


line true false branch
67 200 191 if ref $_[1] eq "CODE"
76 37 if ref $_[1] eq "CODE"
73 5 6 unless $self->read_stream
15 98 unless $self->read_stream
79 0 1 unless $$ == $me
86 27 unless $$ == $me
80 0 1 unless defined $self->_status
22 29 unless defined $self->_status
101 3 0 if $self->verbose
107 0 23 unless $self
13 0 unless $self
109 23 0 unless defined $self->_status
10 1 unless defined $self->_status
127 20 27 $self->separate_err ? :
6 2 $self->separate_err ? :
129 7 40 unless defined $pid
134 3 37 unless $self->set_pipes
138 19 18 $self->separate_err ? :
145 11 476 if $_[0]->pidfile
155 0 21 unless defined $self->_status
156 0 4 if $self->execute
157 4 0 if $self->code
166 1 238 unless $self
173 238 0 unless defined $self->_status
177 183 55 if ($self->_internal_return)
178 0 183 $self->_internal_return->isa('IO::Pipe::End') ? :
182 0 183 unless "IO::Select"->new($return_reader)->can_read(10)
188 152 30 $rt ? :
1 182 $self->serialize ? :
192 184 54 if ($self->_internal_err)
193 1 183 $self->_internal_err->isa('IO::Pipe::End') ? :
197 1 183 unless "IO::Select"->new($internal_err_reader)->can_read(10)
202 60 123 if @result_error
215 3 223 unless ref $code eq "CODE"
224 173 50 if ($self->set_pipes)
225 7 166 unless $input_pipe = "IO::Pipe"->new
227 2 171 unless $output_pipe = "IO::Pipe"->new
229 2 171 unless $output_err_pipe = "IO::Pipe"->new
231 168 5 if ($self->channels)
232 3 170 unless $channel_in = "IO::Pipe"->new
234 3 170 unless $channel_out = "IO::Pipe"->new
238 214 9 if ($self->internal_pipes)
239 2 217 unless my $internal_err = "IO::Pipe"->new
241 2 217 unless my $internal_return = "IO::Pipe"->new
256 5 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 18 1 if $stderr
302 18 1 if $stdout
306 18 1 if $stdin
314 19 0 if ($self->channels)
316 18 1 if $channel_in
317 18 1 if $channel_out
330 0 0 if ($internal_err)
331 0 0 if $@
332 0 0 if not $@ and $!
334 0 0 if not $self->serialize and ref $rt eq "ARRAY" and scalar @$rt == 1
336 0 0 if $self->serialize and $return
338 0 0 if $return
343 49 149 unless $self->set_pipes
345 148 1 if $output_pipe
346 138 1 $output_err_pipe ? :
10 139 !$self->separate_err ? :
349 148 1 if $input_pipe
351 149 0 if ($self->set_pipes)
352 149 0 if ($self->channels)
353 148 1 if $channel_in
354 148 1 if $channel_out
388 9 8 !!@{(shift())->error;} ? :
391 0 7 $st & 128 ? :
394 33 6 defined $_[0]->_status ? :
3 38 defined $_[0]->_status && $_[0]->quirkiness ? :
400 19 20 $_[0]->is_running ? :
406 1201 259 $self->process_id ? :
411 32 233 if $pidfile
412 7 223 unless $self->pid
413 219 9 unless $self->pidfile
422 1 44 unless $stream
427 9 83 unless "IO::Select"->new($_[0])->can_read(10)
432 31 36 unless "IO::Select"->new($_[0])->can_read(10)
433 2 4 wantarray ? :
458 1 7 unless $_[0]->separate_err
464 0 15 unless $_[0]->separate_err
470 0 247 if $self->is_running
471 2 206 if not $self->execute and not $self->code
476 7 48 ref $self->args eq 'ARRAY' ? :
55 185 defined $self->args ? :
480 45 195 if $self->subreaper
489 228 1 if $old_emit_from_sigchld
492 206 34 if ($self->code) { }
34 0 elsif ($self->execute) { }
510 19 171 unless $self->kill_whole_group or $self->is_running
520 13 293 unless defined $pid
521 173 33 unless $self->is_running
530 2 59 if $self->kill_whole_group
541 148 28 if ($send_signal)
546 48 128 if $ret == $pid or $ret == -1
548 164 12 if ($sleep_time)
553 31 14 if defined $self->_status
555 15 0 if $self->kill_sleeptime
557 10 4 if ($self->blocking_stop) { }
564 10 0 if $ret == $pid or $ret == -1
576 0 205 unless $self->pid
584 55 180 if $wait and not defined $self->_status
586 72 163 unless defined $self->_status
588 74 149 if $self->error and $self->error->size > 0