Condition Coverage

blib/lib/IPC/Run.pm
Criterion Covered Total %
condition 165 284 58.1


and 2 conditions

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

and 3 conditions

line !l l&&!r l&&r condition
1128 2087 0 0 &_debugging() and not defined $IPC::Run::cur_self->{'DEBUG_FD'}
1164 159 0 1211 "File::Spec"->file_name_is_absolute($cmd_name) and -x $cmd_name
1177 154 0 5 &Win32_MODE() and $cmd_name =~ /$dirsep/
154 0 5 &Win32_MODE() and $cmd_name =~ /$dirsep/ and not $cmd_name =~ m[\.[^\\/\.]+$]
1184 7 0 5 -f $name and -x _
1223 480 0 0 &Win32_MODE() && !(-f $prospect && -x _)
1227 420 0 60 -f $found and -x _
1270 171 989 5698 defined $_[0] && length $_[0]
1303 0 0 0 &_debugging_details() and not defined $r
1306 0 0 0 &_debugging_details() and not defined $r
1327 0 0 200 defined $_[0] and defined $_[1]
1363 0 0 228 defined $_[0] and defined $_[1]
1475 0 0 0 keys %{$$self{"PTYS"};} and $IO::Pty::VERSION < "0.9"
1482 0 0 394 defined $_[0] and defined $_[1]
1590 0 0 15 $_->{'PID'} && !defined($_->{'RESULT'})
1594 0 0 0 &_debugging() and _debug("$! sending $signal to $_->{'PID'}")
1736 104 1595 0 @_ and ref $_[-1] eq "HASH"
1746 1590 16 93 @_ == 1 and not ref $_[0]
120 1397 89 @_ > 1 and not grep(ref($_), @_)
1800 3879 1050 148 not $cur_kid and ref $_ eq "CODE"
0 0 1163 $succinct and $first_parse
1804 1628 0 0 &Win32_MODE() and ref $_ eq "CODE"
1895 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')
1909 749 0 0 &_debugging_details() and @filters
1916 717 28 56 ref $source eq 'GLOB' || UNIVERSAL::isa($source, 'IO::Handle') and not $type =~ /^
1966 539 353 22 @args > 1 and ref $args[1] && !UNIVERSAL::isa($args[1], 'IPC::Run::Timer') || UNIVERSAL::isa($args[0], 'IPC::Run::binmode_pseudo_filter')
1977 0 1537 2 @args and ref $args[0] eq "IPC::Run::Undef"
1987 1539 0 0 &_debugging_details() and @filters
2004 1600 52 54 UNIVERSAL::isa($dest, 'GLOB') || UNIVERSAL::isa($dest, 'IO::Handle') and not $type =~ /^>(pty>|pipe)$/
2453 0 0 0 $@ =~ /input or output/ and $^O =~ /aix/
0 0 0 &Win32_MODE() and $@ =~ /Bad file descriptor/
2504 0 6 394 length $$in_ref and $$in_ref
2532 200 0 0 defined $self->{'DEBUG_FD'} and $self->{'DEBUG_FD'} == $fd2
2787 0 1557 0 @_ and ref $_[-1] eq "HASH"
2794 1420 109 28 @_ == 1 and UNIVERSAL::isa($_[0], "IPC::Run")
2815 1480 0 0 &Win32_MODE() and $IPC::Run::in_run
2862 0 0 0 $kid->{'PATH'} and &_debugging()
2900 2132 0 0 &Win32_MODE() && $_->{'RECV_THROUGH_TEMP_FILE'}
246 105 2132 defined $_->{'TFD'} and not $_->{'DONT_CLOSE'}
351 0 2132 defined $_->{'TFD'} and not $_->{'DONT_CLOSE'} and not $closed[$_->{'TFD'}]
2980 1865 11 1308 defined $_->{'FD'} && ($_->{'TYPE'} ne $file->{'TYPE'} || $_->{'FD'} ne $doomed)
2994 2894 1467 204 $io_occurred and $self->{'break_on_io'}
3009 0 164 0 defined $time_left and not $time_left
3021 6185 0 918 $file->{'PAUSED'} and $file->{'TYPE'} =~ /^
3026 49 869 0 defined $file->{'FD'} and not defined $did
3050 0 0 0 not $out and vec $self->{'PIN'}, $_, 1
3064 0 4224 63 $p != 0 and !defined($timeout) || $timeout > 0.1
3122 2670 917 700 not $nfound and $self->{'non_blocking'}
3236 82 0 0 defined $op->{'TFD'} and not defined $op->{'TEMP_FILE_HANDLE'}
3313 0 0 913 @_ == 1 and UNIVERSAL::isa($_[0], "IPC::Run")
3416 0 2601 4290 defined $_->{'PID'} && !defined($_->{'RESULT'})
3534 1310 0 0 @_ && ref $_[-1] eq 'HASH'
3593 0 0 8 $which >= 0 and $which <= $#{$$self{"KIDS"};}
3795 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; } }
3846 7 3 0 &input_avail() && do { $$out_ref = join('', $$out_ref, $$in_ref, $suffix); $$in_ref = ''; 1 }
3913 728 358 0 &input_avail() && do { $$string_ref .= $$in_ref; $$in_ref = ''; 1 }

or 2 conditions

line l !l condition
1182 0 5 $ENV{'PATHEXT'} || '.COM;.BAT;.EXE'
1214 60 1 $ENV{'PATH'} || ''
1223 0 0 $ENV{'PATHEXT'} || '.COM;.BAT;.EXE'
1313 0 0 $r || 0
1429 3889 0 $r ||= 0
1748 0 0 $ENV{'ComSpec'} || 'cmd'

or 3 conditions

line l !l&&r !l&&!r condition
1070 0 0 0 eval "use IPC::Run::Win32Helper; 1;" or $@ and die
1428 3889 0 6 $r or $!{'EINTR'}
1460 0 1 1347 not defined $sync_pulse or length $sync_pulse
1800 1480 0 5077 ref $_ eq "ARRAY" or UNIVERSAL::isa($_, "IPC::Run::Win32Process")
1480 148 4929 ref $_ eq "ARRAY" or UNIVERSAL::isa($_, "IPC::Run::Win32Process") or not $cur_kid and ref $_ eq "CODE"
30 7 4755 /^(\d*) (
37 778 3977 /^(\d*) (
25 0 3952 /^() (>>?) (&) () (.*)$/x or /^() (&) (>pipe) () () $/x
25 0 3952 /^() (>>?) (&) () (.*)$/x or /^() (&) (>pipe) () () $/x or /^() (>pipe)(&) () () $/x
0 53 3899 /^() (>>?) (&) () (.*)$/x or /^() (&) (>pipe) () () $/x or /^() (>pipe)(&) () () $/x or /^(\d*)() (>pipe) () () $/x
53 0 3899 /^() (>>?) (&) () (.*)$/x or /^() (&) (>pipe) () () $/x or /^() (>pipe)(&) () () $/x or /^(\d*)() (>pipe) () () $/x or /^() (&) (>pty) ( \w*)> () $/x
53 9 3890 /^() (>>?) (&) () (.*)$/x or /^() (&) (>pipe) () () $/x or /^() (>pipe)(&) () () $/x or /^(\d*)() (>pipe) () () $/x or /^() (&) (>pty) ( \w*)> () $/x or /^(\d*)() (>pty) ( \w*)> () $/x
9 2 3888 /^() (>>?) (&) () (.*)$/x or /^() (&) (>pipe) () () $/x or /^() (>pipe)(&) () () $/x or /^(\d*)() (>pipe) () () $/x or /^() (&) (>pty) ( \w*)> () $/x or /^(\d*)() (>pty) ( \w*)> () $/x or /^() (&) (>>?) () (.*)$/x
11 1638 2250 /^() (>>?) (&) () (.*)$/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
1895 44 11 246 ref $args[1] && !UNIVERSAL::isa($args[1], 'IPC::Run::Timer') || UNIVERSAL::isa($args[0], 'IPC::Run::binmode_pseudo_filter')
1916 57 27 717 ref $source eq 'GLOB' || UNIVERSAL::isa($source, 'IO::Handle')
1940 0 53 1653 $2 eq '>pipe' || $3 eq '>pipe'
0 9 1644 $2 eq '>pty' || $3 eq '>pty'
1946 0 38 1668 $2 eq '>>' || $3 eq '>>'
1947 0 9 1697 $2 eq '>pty' || $3 eq '>pty'
1955 20 9 1677 $2 eq '&' || $3 eq '&' || !length($1) && substr($type, 0, 4) eq '>pty'
1966 55 11 309 ref $args[1] && !UNIVERSAL::isa($args[1], 'IPC::Run::Timer') || UNIVERSAL::isa($args[0], 'IPC::Run::binmode_pseudo_filter')
2004 106 0 1600 UNIVERSAL::isa($dest, 'GLOB') || UNIVERSAL::isa($dest, 'IO::Handle')
2152 29 27 619 UNIVERSAL::isa($source, "GLOB") or UNIVERSAL::isa($source, "IO::Handle")
2453 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/
2480 888 979 0 vec $self->{'WOUT'}, $pipe->{'FD'}, 1 or $pipe->{'PAUSED'}
2905 2132 0 351 $close_it or $@
3010 63 0 101 not defined $timeout or $time_left < $timeout
3026 0 0 918 defined $file->{'FD'} and not defined $did or $did
3064 3517 63 707 !defined($timeout) || $timeout > 0.1
3075 4287 0 0 defined $timeout or @{$self->{'PIPES'};} - $paused
3451 0 0 0 not defined $kid->{'PROCESS'} or defined $kid->{'RESULT'}
3482 0 1268 5623 not defined $kid->{'PID'} or defined $kid->{'RESULT'}