line | % | coverage | branch |
152 | 50 | T | F | unless $opts{'exec'} |
156 | 100 | T | F | if $opts{"to_$thing"} |
157 | 100 | T | F | if $opts{"error_to_$thing"} |
158 | 100 | T | F | if $opts{"from_$thing"} |
160 | 50 | T | F | if $to > 1 |
162 | 50 | T | F | if $error_to > 1 |
164 | 50 | T | F | if $from > 1 |
168 | 50 | T | F | if (exists $opts{$param} and !ref($opts{$param}) || ref $opts{$param} ne 'SCALAR') |
175 | 50 | T | F | if (exists $opts{$param} and !ref($opts{$param}) || ref $opts{$param} ne 'SCALAR' && !$opts{$param}->isa('IO::Handle')) |
183 | 50 | T | F | if (exists $opts{'timeout'} and defined $opts{'timeout'} and not $opts{'timeout'} =~ /^\d+$/) |
188 | 50 | T | F | if (exists $opts{'env'} and ref $opts{'env'} ne "HASH") |
192 | 50 | T | F | if (exists $opts{'delete_env'} and ref $opts{'delete_env'} ne "ARRAY") |
196 | 50 | T | F | if (exists $opts{'sig'} and ref $opts{'sig'} ne "HASH") |
200 | 50 | T | F | if (exists $opts{'delete_sig'} and ref $opts{'delete_sig'} ne "ARRAY") |
213 | 100 | T | F | if (ref($opts{'exec'}) =~ /ARRAY/) { } |
| 50 | T | F | elsif (not ref $opts{'exec'}) { } |
221 | 100 | T | F | if ($opts{'to_string'}) |
225 | 100 | T | F | if ($opts{'error_to_string'}) |
229 | 100 | T | F | if ($opts{'from_string'}) |
234 | 100 | T | F | if ($opts{'from_pipe'}) |
235 | 50 | T | F | unless pipe $opts{'from_handle'}, $input_pipe |
240 | 100 | T | F | if ($opts{'to_pipe'}) |
242 | 50 | T | F | unless pipe $output_pipe, $opts{'to_handle'} |
246 | 100 | T | F | if ($opts{'error_to_pipe'}) |
248 | 50 | T | F | unless pipe $error_pipe, $opts{'error_to_handle'} |
254 | 50 | T | F | unless defined $pid |
255 | 100 | T | F | unless ($pid) |
257 | 100 | T | F | if ($opts{'env'}) |
262 | 100 | T | F | if ($opts{'delete_env'}) |
266 | 50 | T | F | if ($opts{'sig'}) |
271 | 50 | T | F | if ($opts{'delete_sig'}) |
275 | 100 | T | F | if ($opts{'chdir'}) |
276 | 50 | T | F | unless chdir $opts{'chdir'} |
279 | 100 | T | F | if ($opts{'from_file'}) { } |
| 100 | T | F | elsif ($opts{'from_handle'}) { } |
281 | 50 | T | F | unless open STDIN, "<", $opts{'from_file'} |
284 | 50 | T | F | unless open STDIN, "<&", $opts{'from_handle'} |
289 | 100 | T | F | if ($opts{'to_file'}) { } |
| 100 | T | F | elsif ($opts{'to_handle'}) { } |
291 | 50 | T | F | unless open STDOUT, ">", $opts{'to_file'} |
294 | 50 | T | F | unless open STDOUT, ">&", $opts{'to_handle'} |
299 | 100 | T | F | if ($opts{'error_to_file'}) { } |
| 100 | T | F | elsif ($opts{'error_to_handle'}) { } |
301 | 50 | T | F | unless open STDERR, ">", $opts{'error_to_file'} |
304 | 50 | T | F | unless open STDERR, ">&", $opts{'error_to_handle'} |
311 | 0 | T | F | unless exec {$prog[0];} @prog |
314 | 100 | T | F | if exists $opts{'from_handle'} |
315 | 100 | T | F | if exists $opts{'to_handle'} |
316 | 100 | T | F | if exists $opts{'error_to_handle'} |
318 | 100 | T | F | if ($opts{'from_string'}) |
322 | 100 | T | F | if ($opts{'to_string'}) |
326 | 100 | T | F | if ($opts{'error_to_string'}) |
330 | 100 | T | F | if ($opts{'wait_child'}) |
332 | 100 | T | F | if ($opts{'env'}) |
380 | 50 | T | F | unless $pid |
383 | 100 | T | F | if defined $opts{'timeout'} |
384 | 50 | T | F | unless $pid == waitpid($pid, 0) |
385 | 100 | T | F | if defined $opts{'timeout'} |
387 | 100 | T | F | if ($@) |
388 | 50 | T | F | unless $@ eq "alarm\n" |
395 | 100 | T | F | unless ($opts{'nocheck'}) |
396 | 50 | T | F | if $? |