Condition Coverage

blib/lib/Parallel/MPM/Prefork.pm
Criterion Covered Total %
condition 29 94 30.8


and 3 conditions

line !l l&&!r l&&r condition
224 0 0 1 $parent_data_fh && ref $data
288 0 0 0 defined $code and ref $code ne 'CODE'
0 0 0 defined $code and ref $code ne 'CODE' and not $code =~ /^(?:DEFAULT|IGNORE)$/
328 0 0 0 defined $hnd and $sig ne 'FPE'
407 0 0 0 $dhook_in_main and unpack '%32b*', $rfds & $child_data_fd
440 1 0 2 $child_data_fh and fileno $child_data_fh
449 0 2 1 $chunks-- and sysread $child_data_fh, my $header, 11

or 2 conditions

line l !l condition
100 0 3 $opts{'max_servers'} // 73
101 2 1 $opts{'max_spare_servers'} // 10
102 2 1 $opts{'min_spare_servers'} // 5
103 2 1 $opts{'start_servers'} // 5
176 0 0 _spawn($code, $args) // (return undef)
232 1 0 $exitcode // 256
242 1 0 $exitcode //= 0
281 0 3 shift() // (return undef)
314 0 0 fork // die("Could not fork: $!")
370 0 0 $args // []
459 0 0 sysread($child_data_fh, $header, 16384) || (last HDR)

or 3 conditions

line l !l&&r !l&&!r condition
105 0 0 3 $max_servers <= 0 or $max_spare_servers <= 0
0 0 3 $max_servers <= 0 or $max_spare_servers <= 0 or $min_spare_servers <= 0
0 0 3 $max_servers <= 0 or $max_spare_servers <= 0 or $min_spare_servers <= 0 or $start_servers <= 0
199 0 0 0 not defined $pid or $pid >= 0
224 0 0 1 $am_parent or not $parent_data_fh && ref $data
226 1 0 0 eval { do { nfreeze($data) } } // do { warn "ERROR: Could not nfreeze() data from pid $$: ", $@; $error = $@; return undef }
252 0 0 2 not $am_parent or $done++
263 0 1 2 $pid >= 0 or $nbytes
266 3 0 0 $pid or $nbytes
404 0 0 0 _wait_for_children() or $status_changed
409 0 0 0 $status_changed ||= select($rfds = $child_stat_fd, undef, undef, 0)
423 0 0 0 $busy{$pid} or $idle{$pid}
453 0 0 1 $pid <= 1 or $exitcode > 256
0 0 1 $pid <= 1 or $exitcode > 256 or $thaw > 1
0 0 1 $pid <= 1 or $exitcode > 256 or $thaw > 1 or $data_len < 3
462 1 0 0 sysread($child_data_fh, my $data, $data_len) // do { warn "ERROR: sysread(): $!"; next HDR }
479 1 0 0 ($thaw ? eval { do { thaw($data) } } : $data) // do { warn "ERROR: Could not thaw() data from pid ${pid}: ", $@; $error = $data; undef }