Condition Coverage

blib/lib/IPC/Run.pm
Criterion Covered Total %
condition 162 275 58.9


and 2 conditions

line l !l condition
1068 0 0 $@ and die

and 3 conditions

line !l l&&!r l&&r condition
1126 1921 0 0 &_debugging() and not defined $IPC::Run::cur_self->{'DEBUG_FD'}
1162 160 0 1008 'File::Spec'->file_name_is_absolute($cmd_name) and -x $cmd_name
1175 155 0 5 &Win32_MODE() and $cmd_name =~ /$dirsep/
155 0 5 &Win32_MODE() and $cmd_name =~ /$dirsep/ and not $cmd_name =~ m[\.[^\\/\.]+$]
1182 7 0 5 -f $name and -x _
1221 468 0 0 &Win32_MODE() && !(-f $prospect && -x _)
1225 407 0 61 -f $found and -x _
1241 171 968 5358 defined $_[0] && length $_[0]
1264 0 0 196 defined $_[0] and defined $_[1]
1300 0 0 228 defined $_[0] and defined $_[1]
1409 0 0 0 keys %{$$self{'PTYS'};} and $IO::Pty::VERSION < 0.9
1416 0 0 394 defined $_[0] and defined $_[1]
1524 0 0 15 $_->{'PID'} && !defined($_->{'RESULT'})
1528 0 0 0 &_debugging() and _debug("$! sending $signal to $_->{'PID'}")
1670 96 1408 0 @_ and ref $_[-1] eq 'HASH'
1680 1403 16 85 @_ == 1 and not ref $_[0]
112 1226 81 @_ > 1 and not grep(ref($_), @_)
1748 3691 884 148 not $cur_kid and ref $_ eq 'CODE'
0 0 1163 $succinct and $first_parse
1750 1426 0 0 &Win32_MODE() and ref $_ eq 'CODE'
1841 31 279 22 @args > 1 and ref $args[1] && !UNIVERSAL::isa($args[1], 'IPC::Run::Timer') || UNIVERSAL::isa($args[0], 'IPC::Run::binmode_pseudo_filter')
1855 749 0 0 &_debugging_details() and @filters
1862 717 28 56 ref $source eq 'GLOB' || UNIVERSAL::isa($source, 'IO::Handle') and not $type =~ /^
1912 373 353 22 @args > 1 and ref $args[1] && !UNIVERSAL::isa($args[1], 'IPC::Run::Timer') || UNIVERSAL::isa($args[0], 'IPC::Run::binmode_pseudo_filter')
1923 0 1371 2 @args and ref $args[0] eq 'IPC::Run::Undef'
1933 1373 0 0 &_debugging_details() and @filters
1950 1434 52 54 UNIVERSAL::isa($dest, 'GLOB') || UNIVERSAL::isa($dest, 'IO::Handle') and not $type =~ /^>(pty>|pipe)$/
2399 0 0 0 $@ =~ /input or output/ and $^O =~ /aix/
0 0 0 &Win32_MODE() and $@ =~ /Bad file descriptor/
2450 0 6 394 length $$in_ref and $$in_ref
2478 196 0 0 defined $self->{'DEBUG_FD'} and $self->{'DEBUG_FD'} == $fd2
2733 0 1370 0 @_ and ref $_[-1] eq 'HASH'
2740 1246 101 23 @_ == 1 and UNIVERSAL::isa($_[0], 'IPC::Run')
2761 1293 0 0 &Win32_MODE() and $IPC::Run::in_run
2844 1970 0 0 &Win32_MODE() && $_->{'RECV_THROUGH_TEMP_FILE'}
243 105 1970 defined $_->{'TFD'} and not $_->{'DONT_CLOSE'}
348 0 1970 defined $_->{'TFD'} and not $_->{'DONT_CLOSE'} and not $closed[$_->{'TFD'}]
2924 1703 11 1308 defined $_->{'FD'} && ($_->{'TYPE'} ne $file->{'TYPE'} || $_->{'FD'} ne $doomed)
2938 2702 1199 204 $io_occurred and $self->{'break_on_io'}
2953 0 147 0 defined $time_left and not $time_left
2965 5806 0 901 $file->{'PAUSED'} and $file->{'TYPE'} =~ /^
2970 49 852 0 defined $file->{'FD'} and not defined $did
2994 0 0 0 not $out and vec $self->{'PIN'}, $_, 1
3008 0 3806 46 $p != 0 and !defined($timeout) || $timeout > 0.1
3066 2291 861 700 not $nfound and $self->{'non_blocking'}
3180 82 0 0 defined $op->{'TFD'} and not defined $op->{'TEMP_FILE_HANDLE'}
3257 0 0 913 @_ == 1 and UNIVERSAL::isa($_[0], 'IPC::Run')
3360 0 2304 4230 defined $_->{'PID'} && !defined($_->{'RESULT'})
3469 1131 0 0 @_ && ref $_[-1] eq 'HASH'
3528 0 0 0 $which >= 0 and $which <= $#{$$self{'KIDS'};}
3730 35 21 0 &input_avail() && do { while (1) { if ($$in_ref =~ s/$re//) { $$out_ref .= $1; return 1; } ; my $hmm = &get_more_input(); unless (defined $hmm) { $$out_ref = $$in_ref; $$in_ref = ''; return length $$out_ref ? 1 : 0; } ; return 0 if $hmm eq 0; } }
3781 7 3 0 &input_avail() && do { $$out_ref = join('', $$out_ref, $$in_ref, $suffix); $$in_ref = ''; 1 }
3848 672 330 0 &input_avail() && do { $$string_ref .= $$in_ref; $$in_ref = ''; 1 }

or 2 conditions

line l !l condition
1180 0 5 $ENV{'PATHEXT'} || '.COM;.BAT;.EXE'
1212 61 1 $ENV{'PATH'} || ''
1221 0 0 $ENV{'PATHEXT'} || '.COM;.BAT;.EXE'
1250 0 0 $r || 0
1366 3377 0 $r ||= 0
1682 0 0 $ENV{'ComSpec'} || 'cmd'

or 3 conditions

line l !l&&r !l&&!r condition
1068 0 0 0 eval 'use IPC::Run::Win32Helper; 1;' or $@ and die
1365 3377 0 6 $r or $!{'EINTR'}
1394 0 1 1159 not defined $sync_pulse or length $sync_pulse
1731 0 0 0 ref $_ || (length $_ < 50 ? "'${_}'" : join('', q['], substr($_, 0, 10), q[...']))
1748 1278 148 4575 ref $_ eq 'ARRAY' or not $cur_kid and ref $_ eq 'CODE'
30 7 4401 /^(\d*) (
37 778 3623 /^(\d*) (
25 0 3598 /^() (>>?) (&) () (.*)$/x or /^() (&) (>pipe) () () $/x
25 0 3598 /^() (>>?) (&) () (.*)$/x or /^() (&) (>pipe) () () $/x or /^() (>pipe)(&) () () $/x
0 53 3545 /^() (>>?) (&) () (.*)$/x or /^() (&) (>pipe) () () $/x or /^() (>pipe)(&) () () $/x or /^(\d*)() (>pipe) () () $/x
53 0 3545 /^() (>>?) (&) () (.*)$/x or /^() (&) (>pipe) () () $/x or /^() (>pipe)(&) () () $/x or /^(\d*)() (>pipe) () () $/x or /^() (&) (>pty) ( \w*)> () $/x
53 9 3536 /^() (>>?) (&) () (.*)$/x or /^() (&) (>pipe) () () $/x or /^() (>pipe)(&) () () $/x or /^(\d*)() (>pipe) () () $/x or /^() (&) (>pty) ( \w*)> () $/x or /^(\d*)() (>pty) ( \w*)> () $/x
9 2 3534 /^() (>>?) (&) () (.*)$/x or /^() (&) (>pipe) () () $/x or /^() (>pipe)(&) () () $/x or /^(\d*)() (>pipe) () () $/x or /^() (&) (>pty) ( \w*)> () $/x or /^(\d*)() (>pty) ( \w*)> () $/x or /^() (&) (>>?) () (.*)$/x
11 1472 2062 /^() (>>?) (&) () (.*)$/x or /^() (&) (>pipe) () () $/x or /^() (>pipe)(&) () () $/x or /^(\d*)() (>pipe) () () $/x or /^() (&) (>pty) ( \w*)> () $/x or /^(\d*)() (>pty) ( \w*)> () $/x or /^() (&) (>>?) () (.*)$/x or /^(\d*)() (>>?) () (.*)$/x
1841 44 11 246 ref $args[1] && !UNIVERSAL::isa($args[1], 'IPC::Run::Timer') || UNIVERSAL::isa($args[0], 'IPC::Run::binmode_pseudo_filter')
1862 57 27 717 ref $source eq 'GLOB' || UNIVERSAL::isa($source, 'IO::Handle')
1886 0 53 1487 $2 eq '>pipe' || $3 eq '>pipe'
0 9 1478 $2 eq '>pty' || $3 eq '>pty'
1892 0 38 1502 $2 eq '>>' || $3 eq '>>'
1893 0 9 1531 $2 eq '>pty' || $3 eq '>pty'
1901 20 9 1511 $2 eq '&' || $3 eq '&' || !length($1) && substr($type, 0, 4) eq '>pty'
1912 55 11 309 ref $args[1] && !UNIVERSAL::isa($args[1], 'IPC::Run::Timer') || UNIVERSAL::isa($args[0], 'IPC::Run::binmode_pseudo_filter')
1950 106 0 1434 UNIVERSAL::isa($dest, 'GLOB') || UNIVERSAL::isa($dest, 'IO::Handle')
2098 29 27 619 UNIVERSAL::isa($source, 'GLOB') or UNIVERSAL::isa($source, 'IO::Handle')
2399 6 0 0 $@ =~ /$IPC::Run::_EIO/ or $@ =~ /input or output/ and $^O =~ /aix/
0 0 0 $@ =~ /$IPC::Run::_EIO/ or $@ =~ /input or output/ and $^O =~ /aix/ or &Win32_MODE() and $@ =~ /Bad file descriptor/
2426 884 962 0 vec $self->{'WOUT'}, $pipe->{'FD'}, 1 or $pipe->{'PAUSED'}
2849 1970 0 348 $close_it or $@
2954 46 0 101 not defined $timeout or $time_left < $timeout
2970 0 0 901 defined $file->{'FD'} and not defined $did or $did
3008 3099 46 707 !defined($timeout) || $timeout > 0.1
3019 3852 0 0 defined $timeout or @{$self->{'PIPES'};} - $paused
3395 0 0 0 not defined $kid->{'PROCESS'} or defined $kid->{'RESULT'}
3417 0 1153 5381 not defined $kid->{'PID'} or defined $kid->{'RESULT'}