line | % | coverage | branch |
153 | 50 | T | F | unless $opts{'exec'} |
157 | 100 | T | F | if $opts{"to_$thing"} |
158 | 100 | T | F | if $opts{"error_to_$thing"} |
159 | 100 | T | F | if $opts{"from_$thing"} |
161 | 50 | T | F | if $to > 1 |
163 | 50 | T | F | if $error_to > 1 |
165 | 50 | T | F | if $from > 1 |
169 | 50 | T | F | if (exists $opts{$param} and !ref($opts{$param}) || ref $opts{$param} ne 'SCALAR') |
176 | 50 | T | F | if (exists $opts{$param} and !ref($opts{$param}) || ref $opts{$param} ne 'SCALAR' && !$opts{$param}->isa('IO::Handle')) |
184 | 50 | T | F | if (exists $opts{'timeout'} and defined $opts{'timeout'} and not $opts{'timeout'} =~ /^\d+$/) |
189 | 50 | T | F | if (exists $opts{'env'} and ref $opts{'env'} ne "HASH") |
193 | 50 | T | F | if (exists $opts{'delete_env'} and ref $opts{'delete_env'} ne "ARRAY") |
197 | 50 | T | F | if (exists $opts{'sig'} and ref $opts{'sig'} ne "HASH") |
201 | 50 | T | F | if (exists $opts{'delete_sig'} and ref $opts{'delete_sig'} ne "ARRAY") |
214 | 100 | T | F | if (ref($opts{'exec'}) =~ /ARRAY/) { } |
| 50 | T | F | elsif (not ref $opts{'exec'}) { } |
222 | 100 | T | F | if ($opts{'to_string'}) |
226 | 100 | T | F | if ($opts{'error_to_string'}) |
230 | 100 | T | F | if ($opts{'from_string'}) |
235 | 100 | T | F | if ($opts{'from_pipe'}) |
236 | 50 | T | F | unless pipe $opts{'from_handle'}, $input_pipe |
241 | 100 | T | F | if ($opts{'to_pipe'}) |
243 | 50 | T | F | unless pipe $output_pipe, $opts{'to_handle'} |
247 | 100 | T | F | if ($opts{'error_to_pipe'}) |
249 | 50 | T | F | unless pipe $error_pipe, $opts{'error_to_handle'} |
255 | 50 | T | F | unless defined $pid |
256 | 100 | T | F | unless ($pid) |
258 | 100 | T | F | if ($opts{'env'}) |
263 | 100 | T | F | if ($opts{'delete_env'}) |
267 | 50 | T | F | if ($opts{'sig'}) |
272 | 50 | T | F | if ($opts{'delete_sig'}) |
276 | 100 | T | F | if ($opts{'chdir'}) |
277 | 50 | T | F | unless chdir $opts{'chdir'} |
280 | 100 | T | F | if ($opts{'from_file'}) { } |
| 100 | T | F | elsif ($opts{'from_handle'}) { } |
282 | 50 | T | F | unless open STDIN, "<", $opts{'from_file'} |
285 | 50 | T | F | unless open STDIN, "<&", $opts{'from_handle'} |
290 | 100 | T | F | if ($opts{'to_file'}) { } |
| 100 | T | F | elsif ($opts{'to_handle'}) { } |
292 | 50 | T | F | unless open STDOUT, ">", $opts{'to_file'} |
295 | 50 | T | F | unless open STDOUT, ">&", $opts{'to_handle'} |
300 | 100 | T | F | if ($opts{'error_to_file'}) { } |
| 100 | T | F | elsif ($opts{'error_to_handle'}) { } |
302 | 50 | T | F | unless open STDERR, ">", $opts{'error_to_file'} |
305 | 50 | T | F | unless open STDERR, ">&", $opts{'error_to_handle'} |
312 | 0 | T | F | unless exec {$prog[0];} @prog |
315 | 100 | T | F | if exists $opts{'from_handle'} |
316 | 100 | T | F | if exists $opts{'to_handle'} |
317 | 100 | T | F | if exists $opts{'error_to_handle'} |
319 | 100 | T | F | if ($opts{'from_string'}) |
323 | 100 | T | F | if ($opts{'to_string'}) |
327 | 100 | T | F | if ($opts{'error_to_string'}) |
331 | 100 | T | F | if ($opts{'wait_child'}) |
333 | 100 | T | F | if ($opts{'env'}) |
381 | 50 | T | F | unless $pid |
384 | 100 | T | F | if defined $opts{'timeout'} |
385 | 50 | T | F | unless $pid == waitpid($pid, 0) |
386 | 100 | T | F | if defined $opts{'timeout'} |
388 | 100 | T | F | if ($@) |
389 | 50 | T | F | unless $@ eq "alarm\n" |
396 | 100 | T | F | unless ($opts{'nocheck'}) |
397 | 50 | T | F | if $? |