Condition Coverage

blib/lib/IPC/Run.pm
Criterion Covered Total %
condition 218 360 60.5


and 2 conditions

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

and 3 conditions

line !l l&&!r l&&r condition
1283 3719 0 0 &_debugging() and not defined $IPC::Run::cur_self->{'DEBUG_FD'}
1345 0 1 2148 defined $cmd_name and length $cmd_name
1347 437 0 1711 "File::Spec"->file_name_is_absolute($cmd_name) and -x $cmd_name
1360 432 0 5 &Win32_MODE() and $cmd_name =~ /$dirsep/
432 0 5 &Win32_MODE() and $cmd_name =~ /$dirsep/ and not $cmd_name =~ m[\.[^\\/\.]+$]
1367 7 0 5 -f $name and -x _
1415 630 0 0 &Win32_MODE() && !(-f $prospect && -x _)
1419 528 0 102 -f $found and -x _
1462 234 1650 9663 defined $_[0] && length $_[0]
1495 0 0 0 &_debugging_details() and not defined $r
1498 0 0 0 &_debugging_details() and not defined $r
1519 0 0 365 defined $_[0] and defined $_[1]
1555 0 0 264 defined $_[0] and defined $_[1]
1622 6731 21 1 not defined $r and $!{'EINTR'}
1695 0 0 901 defined $_[0] and defined $_[1]
1807 0 44 28 $_->{'PID'} && !defined($_->{'RESULT'})
1811 0 0 0 &_debugging() and _debug("$! sending $signal to $_->{'PID'}")
1954 116 2586 0 @_ and ref $_[-1] eq "HASH"
1964 2498 99 105 @_ == 1 and not ref $_[0]
215 2281 101 @_ > 1 and not grep(ref($_), @_)
2032 7390 1386 346 not $cur_kid and ref $_ eq "CODE"
0 0 2433 $succinct and $first_parse
2036 2641 0 0 &Win32_MODE() and ref $_ eq "CODE"
2038 346 154 2141 ref $_ eq "ARRAY" and @$_
500 2138 3 ref $_ eq "ARRAY" and @$_ and not defined $_->[0]
2135 34 395 22 @args > 1 and ref $args[1] && !UNIVERSAL::isa($args[1], 'IPC::Run::Timer') && ref $args[1] ne 'IPC::Run::Undef' || UNIVERSAL::isa($args[0], 'IPC::Run::binmode_pseudo_filter')
2149 1327 0 0 &_debugging_details() and @filters
2156 1226 33 129 ref $source eq 'GLOB' || UNIVERSAL::isa($source, 'IO::Handle') and not $type =~ /^
1259 63 66 ref $source eq 'GLOB' || UNIVERSAL::isa($source, 'IO::Handle') and not $type =~ /^
2166 0 66 0 defined $fno and $fno <= 2
2216 724 461 22 @args > 1 and ref $args[1] && !UNIVERSAL::isa($args[1], 'IPC::Run::Timer') && ref $args[1] ne 'IPC::Run::Undef' || UNIVERSAL::isa($args[0], 'IPC::Run::binmode_pseudo_filter')
2227 0 2623 2 @args and ref $args[0] eq "IPC::Run::Undef"
2237 2625 0 0 &_debugging_details() and @filters
2254 2704 58 60 UNIVERSAL::isa($dest, 'GLOB') || UNIVERSAL::isa($dest, 'IO::Handle') and not $type =~ /^>(pty>|pipe)$/
2722 0 0 0 $@ =~ /input or output/ and $^O =~ /aix/
0 0 0 &Win32_MODE() and $@ =~ /Bad file descriptor/
2809 365 0 0 defined $self->{'DEBUG_FD'} and $self->{'DEBUG_FD'} == $fd2
3092 0 2548 0 @_ and ref $_[-1] eq "HASH"
3099 2305 168 75 @_ == 1 and UNIVERSAL::isa($_[0], __PACKAGE__)
3120 2435 0 0 &Win32_MODE() and $IPC::Run::in_run
3169 0 0 0 $kid->{'PATH'} and &_debugging()
3208 3721 0 0 &Win32_MODE() && $_->{'RECV_THROUGH_TEMP_FILE'}
390 57 3721 defined $_->{'TFD'} and not $_->{'DONT_CLOSE'}
447 0 3721 defined $_->{'TFD'} and not $_->{'DONT_CLOSE'} and not $closed[$_->{'TFD'}]
3221 0 2621 1100 defined $_->{'TYPE'} and $_->{'TYPE'} eq "<"
2621 49 1051 defined $_->{'TYPE'} and $_->{'TYPE'} eq "<" and ref $_->{'SOURCE'}
2670 988 63 defined $_->{'TYPE'} and $_->{'TYPE'} eq "<" and ref $_->{'SOURCE'} and UNIVERSAL::isa($_->{'SOURCE'}, 'GLOB') || UNIVERSAL::isa($_->{'SOURCE'}, 'IO::Handle')
3304 3279 32 2513 defined $_->{'FD'} && ($_->{'TYPE'} ne $file->{'TYPE'} || $_->{'FD'} ne $doomed)
3329 3280 1 2 $SIG{'CHLD'} and $SIG{'CHLD'} ne "DEFAULT"
3339 3260 22 1 $SIG{'PIPE'} and $SIG{'PIPE'} ne "DEFAULT"
3348 7454 3338 401 $io_occurred and $self->{'break_on_io'}
3363 0 1754 0 defined $time_left and not $time_left
3375 17356 0 1558 $file->{'PAUSED'} and $file->{'TYPE'} =~ /^
3380 69 1489 0 defined $file->{'FD'} and not defined $did
3404 0 0 0 not $out and vec $self->{'PIN'}, $_, 1
3418 0 8302 2480 $p != 0 and !defined($timeout) || $timeout > 0.1
3488 4598 4845 1339 not $nfound and $self->{'non_blocking'}
3557 10 66 2259 defined $kid->{'PID'} && length $kid->{'PID'}
3562 109 0 0 defined $op->{'TFD'} and not defined $op->{'TEMP_FILE_HANDLE'}
3576 0 255 88 defined $err and length $err
3643 0 0 1771 @_ == 1 and UNIVERSAL::isa($_[0], __PACKAGE__)
3823 0 3264 2612 defined $_->{'PID'} && !defined($_->{'RESULT'})
3956 2159 0 0 @_ && ref $_[-1] eq 'HASH'
3976 2070 0 88 $self->{'CODEREF_EXCEPTIONS'} and @{$self->{'CODEREF_EXCEPTIONS'};}
4027 0 0 19 $which >= 0 and $which <= $#{$$self{"KIDS"};}
4168 0 0 8 $which >= 0 and $which <= $#{$$self{"KIDS"};}
4243 0 0 1 $which >= 0 and $which <= $#{$$self{"KIDS"};}
4398 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; } }
4449 7 3 0 &input_avail() && do { $$out_ref = join('', $$out_ref, $$in_ref, $suffix); $$in_ref = ''; 1 }
4516 812 400 0 &input_avail() && do { $$string_ref .= $$in_ref; $$in_ref = ''; 1 }

or 2 conditions

line l !l condition
1365 0 5 $ENV{'PATHEXT'} || '.COM;.BAT;.EXE'
1406 102 1 $ENV{'PATH'} || ''
1415 0 0 $ENV{'PATHEXT'} || '.COM;.BAT;.EXE'
1505 0 0 $r || 0
1624 6731 0 $r ||= 0
1966 0 0 $ENV{'ComSpec'} || 'cmd'
4169 8 0 $self->{'KIDS'}[$which]{'PID'} || undef
4173 20 0 $self->{'KIDS'}[0]{'PID'} || undef

or 3 conditions

line l !l&&r !l&&!r condition
1218 0 0 0 eval "use IPC::Run::Win32Helper; 1;" or $@ and die
1680 0 2 2215 not defined $sync_pulse or length $sync_pulse
2032 2295 0 9122 ref $_ eq "ARRAY" or UNIVERSAL::isa($_, "IPC::Run::Win32Process")
2295 346 8776 ref $_ eq "ARRAY" or UNIVERSAL::isa($_, "IPC::Run::Win32Process") or not $cur_kid and ref $_ eq "CODE"
63 37 8088 /^(\d*) (
100 14 8074 /^(\d*) (
51 1294 6780 /^(\d*) (
31 0 6749 /^() (>>?) (&) () (.*)$/x or /^() (&) (>pipe) () () $/x
31 0 6749 /^() (>>?) (&) () (.*)$/x or /^() (&) (>pipe) () () $/x or /^() (>pipe)(&) () () $/x
0 62 6687 /^() (>>?) (&) () (.*)$/x or /^() (&) (>pipe) () () $/x or /^() (>pipe)(&) () () $/x or /^(\d*)() (>pipe) () () $/x
62 0 6687 /^() (>>?) (&) () (.*)$/x or /^() (&) (>pipe) () () $/x or /^() (>pipe)(&) () () $/x or /^(\d*)() (>pipe) () () $/x or /^() (&) (>pty) ( \w*)> () $/x
62 27 6660 /^() (>>?) (&) () (.*)$/x or /^() (&) (>pipe) () () $/x or /^() (>pipe)(&) () () $/x or /^(\d*)() (>pipe) () () $/x or /^() (&) (>pty) ( \w*)> () $/x or /^(\d*)() (>pty) ( \w*)> () $/x
27 2 6658 /^() (>>?) (&) () (.*)$/x or /^() (&) (>pipe) () () $/x or /^() (>pipe)(&) () () $/x or /^(\d*)() (>pipe) () () $/x or /^() (&) (>pty) ( \w*)> () $/x or /^(\d*)() (>pty) ( \w*)> () $/x or /^() (&) (>>?) () (.*)$/x
29 2730 3928 /^() (>>?) (&) () (.*)$/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
2135 53 11 353 ref $args[1] && !UNIVERSAL::isa($args[1], 'IPC::Run::Timer') && ref $args[1] ne 'IPC::Run::Undef' || UNIVERSAL::isa($args[0], 'IPC::Run::binmode_pseudo_filter')
2156 132 30 1226 ref $source eq 'GLOB' || UNIVERSAL::isa($source, 'IO::Handle')
2190 0 62 2760 $2 eq '>pipe' || $3 eq '>pipe'
0 27 2733 $2 eq '>pty' || $3 eq '>pty'
2196 0 44 2778 $2 eq '>>' || $3 eq '>>'
2197 0 27 2795 $2 eq '>pty' || $3 eq '>pty'
2205 23 27 2772 $2 eq '&' || $3 eq '&' || !length($1) && substr($type, 0, 4) eq '>pty'
2216 64 11 408 ref $args[1] && !UNIVERSAL::isa($args[1], 'IPC::Run::Timer') && ref $args[1] ne 'IPC::Run::Undef' || UNIVERSAL::isa($args[0], 'IPC::Run::binmode_pseudo_filter')
2254 118 0 2704 UNIVERSAL::isa($dest, 'GLOB') || UNIVERSAL::isa($dest, 'IO::Handle')
2419 35 63 3155 $op->{'TYPE'} eq "{'TYPE'} eq "
2421 36 30 1113 UNIVERSAL::isa($source, "GLOB") or UNIVERSAL::isa($source, "IO::Handle")
2722 21 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/
2749 1530 1651 0 vec $self->{'WOUT'}, $pipe->{'FD'}, 1 or $pipe->{'PAUSED'}
3213 3721 0 447 $close_it or $@
3221 34 29 988 UNIVERSAL::isa($_->{'SOURCE'}, 'GLOB') || UNIVERSAL::isa($_->{'SOURCE'}, 'IO::Handle')
3364 1250 0 504 not defined $timeout or $time_left < $timeout
3380 0 0 1558 defined $file->{'FD'} and not defined $did or $did
3418 8119 1250 1413 !defined($timeout) || $timeout > 0.1
3423 9369 0 0 not &Win32_MODE() or $self->{'RIN'}
0 0 0 not &Win32_MODE() or $self->{'RIN'} or $self->{'WIN'}
0 0 0 not &Win32_MODE() or $self->{'RIN'} or $self->{'WIN'} or $self->{'EIN'}
3436 10782 0 0 defined $timeout or @{$self->{'PIPES'};} - $paused
3447 0 0 0 not &Win32_MODE() or $self->{'RIN'}
0 0 0 not &Win32_MODE() or $self->{'RIN'} or $self->{'WIN'}
0 0 0 not &Win32_MODE() or $self->{'RIN'} or $self->{'WIN'} or $self->{'EIN'}
3869 0 0 0 not defined $kid->{'PROCESS'} or defined $kid->{'RESULT'}
3903 0 3325 4810 not defined $kid->{'PID'} or defined $kid->{'RESULT'}
3968 28 1440 691 %{$self->{'PTYS'};} or @{$self->{'PIPES'};}
1468 66 625 %{$self->{'PTYS'};} or @{$self->{'PIPES'};} or @{$self->{'TIMERS'};}