Condition Coverage

blib/lib/MCE/Shared/Server.pm
Criterion Covered Total %
condition 36 256 14.0


and 3 conditions

line !l l&&!r l&&r condition
137 43 0 0 $_is_MSWin32 and $MCE::Signal::KILLED
139 0 28 15 $_init_pid and $_init_pid eq "$$.$_tid"
28 0 15 $_init_pid and $_init_pid eq "$$.$_tid" and $_is_client
151 20 11 0 $_has_fh and not $INC{'IO/FDPass.pm'}
281 0 0 0 $_has_args and $_fcn eq "TIEHANDLE"
0 0 0 $_has_args and $_fcn eq "TIEHANDLE" and not defined fileno $_item
322 0 0 0 $_class eq "MCE::Shared::Handle" and &reftype($_item) eq "ARRAY"
331 0 0 0 &reftype($_obj{$_id}) eq "HASH" and &reftype($_obj{$_id}{'fh'}) eq "GLOB"
404 0 43 0 defined $_svr_pid and $_svr_pid == 0
421 0 0 15 $_is_client and $_init_pid
0 0 15 $_is_client and $_init_pid and $_init_pid eq "$$.$_tid"
479 0 0 0 exists $_ob3{"${_id}:count"} and --$_ob3{"${_id}:count"} > 0
555 0 0 0 not $_spawn_child and $_is_MSWin32 || $INC{'Tk.pm'} || $INC{'Wx.pm'}
568 0 0 0 $MCE::MCE and $MCE::MCE->{'_wid'} == 0
577 0 0 0 $_spawn_child and not $_is_MSWin32
579 0 0 0 $_init_pid eq $_oid and not $_is_MSWin32
580 0 0 0 $_init_pid eq $_oid and not $_spawn_child
584 0 0 0 $INC{'threads.pm'} and "threads"->tid != 0
603 0 0 0 $_spawn_child && !$_is_MSWin32
671 0 0 0 $flg || $pkg->can('FETCHSIZE') and $get
688 0 0 0 @{$_args;} == 1 and $_args->[0] =~ /^(?:key|val)[ ]+\S\S?[ ]+\S/
980 0 0 0 @_ == 2 and $_[0] =~ /^:,(\d+):(\d+)/
0 0 0 @_ == 2 and $_[0] =~ /^:,(\d+):(\d+)/ and ref $_[1]
0 0 0 not ref $_[0] and $_[0] =~ /^(\d+)$/
1057 0 0 0 &blessed($_buf) && $_buf->can('SHARED_ID') && $_ob2{$_buf->[0]}
1129 0 0 0 ++$_count % 50 == 0 and &MCE::Shared::Server::time() - $_start > "0.03"
1245 0 0 110 $_is_client and defined $_svr_pid
0 0 110 $_is_client and defined $_svr_pid and defined $_[0]
1247 0 0 110 $_spawn_child and $_init_pid
0 52 58 $_spawn_child and $_init_pid and $_init_pid eq "$$.$_tid"
1415 0 0 49 $_spawn_child and $_init_pid
0 0 49 $_spawn_child and $_init_pid and $_init_pid eq "$$.$_tid"
1552 156 0 0 $_[1][3] and $_[0] eq "FETCH"
1613 0 0 0 @_ == 2 and ref $_[1] eq 'CODE' || !$_[1]
1621 0 0 0 @_ == 2 and ref $_[1] eq 'CODE' || !$_[1]
1630 0 0 0 ref $_[1] eq 'HASH' && $_[1]{'unbless'}
1636 0 0 0 defined $_svr_pid and exists $_new{$_id}
0 0 0 defined $_svr_pid and exists $_new{$_id} and $_new{$_id} eq $_pid
1695 0 0 0 &$_blessed($_) and $_->can("export")
1701 0 0 0 &$_blessed($_) and $_->can("export")
1707 0 0 0 &$_blessed(${$_item;}) and ${$_item;}->can("export")
1720 0 0 0 &$_blessed($_) and $_->can("export")
1724 0 0 0 &$_blessed($_) and $_->can("export")
1744 0 0 2 $flg || $pkg->can('FETCHSIZE') and $get
1753 0 0 0 @keys == 1 and $keys[0] =~ /^(?:key|val)[ ]+\S\S?[ ]+\S/
1862 0 58 0 @_ > 1 and $_[0][2]
32 26 0 @_ == 2 and &$_blessed($_[1])
58 0 0 @_ == 2 and &$_blessed($_[1]) and $_[1]->can("SHARED_ID")
1870 4 0 0 &$_blessed($_[2]) and $_[2]->can("SHARED_ID")
1885 0 0 0 &$_blessed($_[2]) and $_[2]->can("SHARED_ID")
1894 118 27 0 @_ == 1 && !wantarray

or 2 conditions

line l !l condition
1008 0 0 delete $_obj{$_id}{"S" . $_key} // ""
1009 0 0 delete $_obj{$_id}{"R" . $_key} // ""

or 3 conditions

line l !l&&r !l&&!r condition
37 0 0 43 $INC{'IO/FDPass.pm'} or $^O =~ /cygwin|android/
414 0 0 43 not $_spawn_child or $_is_MSWin32
493 0 0 0 $_obj{$_id}->isa("MCE::Shared::Scalar") or $_obj{$_id}->isa("Tie::StdScalar")
555 0 0 0 $_is_MSWin32 || $INC{'Tk.pm'} || $INC{'Wx.pm'}
559 0 0 0 not $_spawn_child or $_is_MSWin32
583 0 0 0 not defined $^S or $^S
584 0 0 0 $INC{'threads.pm'} and "threads"->tid != 0 or $ENV{'PERL_IPERL_RUNNING'}
0 0 0 $INC{'threads.pm'} and "threads"->tid != 0 or $ENV{'PERL_IPERL_RUNNING'} or $_running_inside_eval
590 0 0 0 $_t =~ /^(?:[^\n]+\n){1,7}\teval / or $_t =~ /\n\teval [^\n]+\n\t(?:eval|Try)/
668 0 0 0 $pkg->can('NEXTKEY') || $pkg->can('keys')
671 0 0 0 $flg || $pkg->can('FETCHSIZE')
733 0 0 0 $_params->{'module'} || $_class
820 0 0 0 $_obj{$_id} || do { return &$_warn($_fcn) }
834 0 0 0 $_obj{$_id} || do { return &$_warn($_fcn) }
836 0 0 0 $_var->can($_fcn) || do { if ($_fcn eq 'keys' || $_fcn eq 'SCALAR' and $_var->can('NEXTKEY') || $_var->can('FETCHSIZE')) { $_obj_keys; } else { $_wa ? &$_auto_reply() : eval { do { $_var->$_fcn } }; warn $@ if $@; return; } }
992 0 0 0 $1 // $_[0]
1021 0 0 0 $_obj{$_id} || do { return }
1044 0 0 0 $_obj{$_id} || do { return print({$_DAU_R_SOCK;} '-1' . $LF) }
1069 0 0 0 $_obj{$_id} || do { print {$_DAU_R_SOCK;} $LF if $_wa; return }
1074 0 0 0 $_var->can($_fcn) || do { if ($_fcn eq 'keys' || $_fcn eq 'SCALAR' and $_var->can('NEXTKEY') || $_var->can('FETCHSIZE')) { $_obj_keys; } else { $_len = eval { do { $_var->$_fcn } }; print {$_DAU_R_SOCK;} $_len . $LF; warn $@ if $@; return; } }
1249 0 0 58 not $_svr_pid or waitpid $_svr_pid, 1
1354 0 28 0 $_[0] // &_get_channel_id()
1417 0 0 49 not $_svr_pid or waitpid $_svr_pid, 1
1554 0 0 0 eval { do { $_[1][3]->($_buf) } } || $_buf
1613 0 0 0 ref $_[1] eq 'CODE' || !$_[1]
1621 0 0 0 ref $_[1] eq 'CODE' || !$_[1]
1694 0 0 0 $_class->isa("MCE::Shared::Array") or $_class->isa("Tie::StdArray")
0 0 0 $_class->isa("MCE::Shared::Hash") or $_class->isa("Tie::StdHash")
0 0 0 $_class->isa("MCE::Shared::Scalar") or $_class->isa("Tie::StdScalar")
1741 2 0 0 $pkg->can('NEXTKEY') || $pkg->can('keys')
1744 2 0 0 $flg || $pkg->can('FETCHSIZE')
1814 0 0 0 eval { do { $_[0][3]->($_b->[-1]) } } || $_b->[-1]
1870 1 1 2 $_[0][1]->isa("MCE::Shared::Array") or $_[0][1]->isa("MCE::Shared::Hash")