Condition Coverage

blib/lib/MCE/Shared/Server.pm
Criterion Covered Total %
condition 37 259 14.2


and 3 conditions

line !l l&&!r l&&r condition
37 0 0 43 not $INC{'IO/FDPass.pm'} and $^O ne "cygwin"
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"
382 0 43 0 $^O ne "aix" and $^O ne "linux"
403 0 43 0 defined $_svr_pid and $_svr_pid == 0
420 0 0 15 $_is_client and $_init_pid
0 0 15 $_is_client and $_init_pid and $_init_pid eq "$$.$_tid"
478 0 0 0 exists $_ob3{"${_id}:count"} and --$_ob3{"${_id}:count"} > 0
554 0 0 0 not $_spawn_child and $_is_MSWin32 || $INC{'Tk.pm'} || $INC{'Wx.pm'}
567 0 0 0 $MCE::MCE and $MCE::MCE->{'_wid'} == 0
576 0 0 0 $_spawn_child and not $_is_MSWin32
578 0 0 0 $_init_pid eq $_oid and not $_is_MSWin32
579 0 0 0 $_init_pid eq $_oid and not $_spawn_child
583 0 0 0 $INC{'threads.pm'} and "threads"->tid != 0
602 0 0 0 $_spawn_child && !$_is_MSWin32
670 0 0 0 $flg || $pkg->can('FETCHSIZE') and $get
687 0 0 0 @{$_args;} == 1 and $_args->[0] =~ /^(?:key|val)[ ]+\S\S?[ ]+\S/
979 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+)$/
1056 0 0 0 &blessed($_buf) && $_buf->can('SHARED_ID') && $_ob2{$_buf->[0]}
1128 0 0 0 ++$_count % 50 == 0 and &MCE::Shared::Server::time() - $_start > "0.03"
1244 0 0 110 $_is_client and defined $_svr_pid
0 0 110 $_is_client and defined $_svr_pid and defined $_[0]
1246 0 0 110 $_spawn_child and $_init_pid
0 52 58 $_spawn_child and $_init_pid and $_init_pid eq "$$.$_tid"
1414 0 0 49 $_spawn_child and $_init_pid
0 0 49 $_spawn_child and $_init_pid and $_init_pid eq "$$.$_tid"
1551 156 0 0 $_[1][3] and $_[0] eq "FETCH"
1612 0 0 0 @_ == 2 and ref $_[1] eq 'CODE' || !$_[1]
1620 0 0 0 @_ == 2 and ref $_[1] eq 'CODE' || !$_[1]
1629 0 0 0 ref $_[1] eq 'HASH' && $_[1]{'unbless'}
1635 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
1694 0 0 0 &$_blessed($_) and $_->can("export")
1700 0 0 0 &$_blessed($_) and $_->can("export")
1706 0 0 0 &$_blessed(${$_item;}) and ${$_item;}->can("export")
1719 0 0 0 &$_blessed($_) and $_->can("export")
1723 0 0 0 &$_blessed($_) and $_->can("export")
1743 0 0 2 $flg || $pkg->can('FETCHSIZE') and $get
1752 0 0 0 @keys == 1 and $keys[0] =~ /^(?:key|val)[ ]+\S\S?[ ]+\S/
1861 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")
1869 4 0 0 &$_blessed($_[2]) and $_[2]->can("SHARED_ID")
1884 0 0 0 &$_blessed($_[2]) and $_[2]->can("SHARED_ID")
1893 118 27 0 @_ == 1 && !wantarray

or 2 conditions

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

or 3 conditions

line l !l&&r !l&&!r condition
413 0 0 43 not $_spawn_child or $_is_MSWin32
492 0 0 0 $_obj{$_id}->isa("MCE::Shared::Scalar") or $_obj{$_id}->isa("Tie::StdScalar")
554 0 0 0 $_is_MSWin32 || $INC{'Tk.pm'} || $INC{'Wx.pm'}
558 0 0 0 not $_spawn_child or $_is_MSWin32
582 0 0 0 not defined $^S or $^S
583 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
589 0 0 0 $_t =~ /^(?:[^\n]+\n){1,7}\teval / or $_t =~ /\n\teval [^\n]+\n\t(?:eval|Try)/
667 0 0 0 $pkg->can('NEXTKEY') || $pkg->can('keys')
670 0 0 0 $flg || $pkg->can('FETCHSIZE')
732 0 0 0 $_params->{'module'} || $_class
819 0 0 0 $_obj{$_id} || do { return &$_warn($_fcn) }
833 0 0 0 $_obj{$_id} || do { return &$_warn($_fcn) }
835 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; } }
991 0 0 0 $1 // $_[0]
1020 0 0 0 $_obj{$_id} || do { return }
1043 0 0 0 $_obj{$_id} || do { return print({$_DAU_R_SOCK;} '-1' . $LF) }
1068 0 0 0 $_obj{$_id} || do { print {$_DAU_R_SOCK;} $LF if $_wa; return }
1073 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; } }
1248 0 0 58 not $_svr_pid or waitpid $_svr_pid, 1
1353 0 28 0 $_[0] // &_get_channel_id()
1416 0 0 49 not $_svr_pid or waitpid $_svr_pid, 1
1553 0 0 0 eval { do { $_[1][3]->($_buf) } } || $_buf
1612 0 0 0 ref $_[1] eq 'CODE' || !$_[1]
1620 0 0 0 ref $_[1] eq 'CODE' || !$_[1]
1693 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")
1740 2 0 0 $pkg->can('NEXTKEY') || $pkg->can('keys')
1743 2 0 0 $flg || $pkg->can('FETCHSIZE')
1813 0 0 0 eval { do { $_[0][3]->($_b->[-1]) } } || $_b->[-1]
1869 1 1 2 $_[0][1]->isa("MCE::Shared::Array") or $_[0][1]->isa("MCE::Shared::Hash")