Branch Coverage

blib/lib/MCE/Queue.pm
Criterion Covered Total %
branch 190 362 52.4


line true false branch
45 0 0 if $_arg eq "await"
46 0 0 if $_arg eq "porder"
47 0 0 if $_arg eq "type"
52 2 37 if $_imported++
57 35 2 if ($INC{'MCE.pm'} and "MCE"->wid == 0)
121 0 0 if $INC{'threads.pm'}
126 0 23 $_tid ? :
128 23 0 if exists $_Q->{'_id'}
131 16 7 if (exists $_Q->{'_init_pid'} and $_Q->{'_init_pid'} eq $_pid)
154 0 45 unless exists $_valid_fields_new{$_p}
163 6 45 defined $_argv{'await'} ? :
166 7 44 defined $_argv{'porder'} ? :
169 25 26 defined $_argv{'type'} ? :
173 7 44 if (exists $_argv{'queue'}) { }
175 0 7 unless ref $_argv{'queue'} eq "ARRAY"
183 0 51 if (exists $_argv{'gather'})
185 0 0 unless ref $_argv{'gather'} eq "CODE"
193 0 51 $_tid ? :
198 6 45 if $_Q->{'_await'}
210 0 0 if ($INC{'MCE.pm'}) { }
223 65 18 if (not exists $_Q->{'_datp'}{$_p} or @{$_Q->{'_datp'}{$_p};} == 0)
225 9 6 do {
15 50 scalar @{$_Q->{'_heap'};} ? :
248 850 94 unless (scalar @{$_Q->{'_heap'};})
250 836 14 $_Q->{'_type'} ? :
256 47 47 if @{$_Q->{'_datp'}{$_p};} == 1
260 70 24 $_Q->{'_type'} ? :
269 0 50 if $INC{'MCE.pm'} and not defined $MCE::MCE->{'_wid'}
270 0 38 if defined $MCE::MCE and $MCE::MCE->{'_wid'}
272 45 5 if (defined $_p)
273 0 45 if not &looks_like_number($_p) or int $_p != $_p
276 9 36 unless exists $_Q->{'_datp'}{$_p}
289 0 6 if ($_p < $_Q->{'_heap'}[0]) { }
4 2 elsif ($_p > $_Q->{'_heap'}[-1]) { }
304 2 2 if ($_p > $_Q->{'_heap'}[$_midpoint]) { }
324 6 3 if ($_p > $_Q->{'_heap'}[0]) { }
0 3 elsif ($_p < $_Q->{'_heap'}[-1]) { }
339 3 3 if ($_p < $_Q->{'_heap'}[$_midpoint]) { }
739 0 0 unless (exists $_Q->{'_ended'})
752 0 569 unless scalar @_
754 0 569 if (exists $_Q->{'_ended'})
759 186 383 if ($_Q->{'_dsem'})
762 125 75 unless $_Q->{'_dsem'}
777 0 74 if not &looks_like_number($_p) or int $_p != $_p
780 0 74 unless scalar @_
782 0 74 if (exists $_Q->{'_ended'})
787 0 74 if ($_Q->{'_dsem'})
790 0 0 unless $_Q->{'_dsem'}
806 6 10 if (defined $_cnt and $_cnt ne '1') { }
807 0 6 if not &looks_like_number($_cnt) or int $_cnt != $_cnt or $_cnt < 1
812 4 0 if ($_pending < $_cnt and scalar @{$_Q->{'_heap'};})
817 0 6 if $_pending < $_cnt
822 10 0 @{$_Q->{'_datq'};} || @{$_Q->{'_heap'};} ? :
826 6 10 if scalar @_items
827 10 0 if $_has_data
828 0 0 if exists $_Q->{'_ended'}
841 0 4 if (defined $_cnt and $_cnt ne 1)
842 0 0 if not &looks_like_number($_cnt) or int $_cnt != $_cnt or $_cnt < 1
847 0 0 if ($_pending < $_cnt and scalar @{$_Q->{'_heap'};})
853 0 0 if $_pending < $_cnt
860 4 0 defined $_buf ? :
869 0 4 if (defined $_timeout)
870 0 0 unless &looks_like_number($_timeout)
874 0 4 if (defined $_cnt and $_cnt ne 1)
875 0 0 if not &looks_like_number($_cnt) or int $_cnt != $_cnt or $_cnt < 1
880 0 0 if ($_pending < $_cnt and scalar @{$_Q->{'_heap'};})
886 0 0 if $_pending < $_cnt
893 4 0 defined $_buf ? :
902 9 5 if (scalar @{$_Q->{'_heap'};})
909 0 0 $_pending ? :
0 14 exists $_Q->{'_ended'} ? :
918 0 50 if not &looks_like_number($_i) or int $_i != $_i
921 0 50 unless scalar @_
923 0 50 if (exists $_Q->{'_ended'})
928 0 50 if ($_Q->{'_dsem'})
931 0 0 unless $_Q->{'_dsem'}
935 10 40 if (abs $_i > scalar @{$_Q->{'_datq'};}) { }
936 5 5 if ($_i >= 0) { }
937 3 2 if ($_Q->{'_type'}) { }
944 3 2 if ($_Q->{'_type'}) { }
952 16 24 unless ($_Q->{'_type'})
954 10 6 $_i >= 0 ? :
968 0 90 if not &looks_like_number($_p) or int $_p != $_p
970 0 90 if not &looks_like_number($_i) or int $_i != $_i
973 0 90 unless scalar @_
975 0 90 if (exists $_Q->{'_ended'})
980 0 90 if ($_Q->{'_dsem'})
983 0 0 unless $_Q->{'_dsem'}
987 81 9 if (exists $_Q->{'_datp'}{$_p} and scalar @{$_Q->{'_datp'}{$_p};}) { }
989 18 63 if (abs $_i > scalar @{$_Q->{'_datp'}{$_p};}) { }
990 9 9 if ($_i >= 0) { }
991 5 4 if ($_Q->{'_type'}) { }
998 5 4 if ($_Q->{'_type'}) { }
1006 28 35 unless ($_Q->{'_type'})
1008 16 12 $_i >= 0 ? :
1027 40 15 if ($_i) { }
1028 0 40 if not &looks_like_number($_i) or int $_i != $_i
1033 15 40 if abs $_i > scalar @{$_Q->{'_datq'};}
1035 16 24 unless ($_Q->{'_type'})
1037 10 6 $_i >= 0 ? :
1050 72 27 if ($_i) { }
1051 0 72 if not &looks_like_number($_i) or int $_i != $_i
1056 0 99 if not &looks_like_number($_p) or int $_p != $_p
1059 0 99 unless exists $_Q->{'_datp'}{$_p}
1060 27 72 if abs $_i > scalar @{$_Q->{'_datp'}{$_p};}
1062 32 40 unless ($_Q->{'_type'})
1064 20 12 $_i >= 0 ? :
1077 5 5 if ($_i) { }
1078 0 5 if not &looks_like_number($_i) or int $_i != $_i
1083 0 10 if abs $_i > scalar @{$_Q->{'_heap'};}
1158 0 28 if ($_lock_chn)
1161 0 0 $_tid ? :
1163 0 0 if $_is_MSWin32
1165 0 0 unless $_DAT_LOCK->{$_pid}
1168 0 0 $_tid ? :
1170 0 0 if $_DAT_LOCK->{$_pid}
1202 0 0 if exists $$_all{$_Q->{'_id'}}
1205 0 0 unless $_Q->{'_await'}
1206 0 0 if not &looks_like_number($_t) or int $_t != $_t
1209 0 0 if $_t < 0
1212 0 0 if $_is_MSWin32
1221 0 8 if exists $$_all{$_Q->{'_id'}}
1231 0 0 if exists $$_all{$_Q->{'_id'}}
1243 0 56 if exists $$_all{$_Q->{'_id'}}
1245 56 0 if (scalar @_)
1257 0 20 if exists $$_all{$_Q->{'_id'}}
1259 0 20 if not &looks_like_number($_p) or int $_p != $_p
1262 20 0 if (scalar @_)
1276 0 244 if exists $$_all{$_Q->{'_id'}}
1278 6 238 if (defined $_cnt and $_cnt ne '1') { }
1279 0 6 if not &looks_like_number($_cnt) or int $_cnt != $_cnt or $_cnt < 1
1286 0 244 if defined $\
1287 0 244 if $/ ne $MCE::Queue::LF
1289 0 244 if $_lock_chn
1295 183 61 if $_len >= 0
1297 0 244 if $_lock_chn
1300 177 67 if $_len > 0 and $_cnt == 1
1301 6 61 if $_len > 0
1302 0 61 if $_len == -2
1304 0 61 if $_is_MSWin32
1313 0 4 if exists $$_all{$_Q->{'_id'}}
1315 0 4 if (defined $_cnt and $_cnt ne '1') { }
1316 0 0 if not &looks_like_number($_cnt) or int $_cnt != $_cnt or $_cnt < 1
1330 0 4 if exists $$_all{$_Q->{'_id'}}
1332 0 4 if (defined $_timeout)
1333 0 0 unless &looks_like_number($_timeout)
1338 0 4 if (defined $_cnt and $_cnt ne '1') { }
1339 0 0 if not &looks_like_number($_cnt) or int $_cnt != $_cnt or $_cnt < 1
1345 4 0 if (not $_timeout or $_timeout < 0)
1350 0 0 if defined $\
1351 0 0 if $/ ne $MCE::Queue::LF
1353 0 0 if $_lock_chn
1359 0 0 if $_len >= 0
1361 0 0 if $_lock_chn
1364 0 0 if $_len > 0 and $_cnt == 1
1365 0 0 if $_len > 0
1366 0 0 if $_len == -2
1370 0 0 if $_timeout < "0.045"
1373 0 0 if (select($_r, undef, undef, $_timeout) > 0)
1391 0 4 if exists $$_all{$_Q->{'_id'}}
1393 0 4 if defined $\
1394 0 4 if $/ ne $MCE::Queue::LF
1396 0 4 if $_lock_chn
1401 0 4 if $_lock_chn
1403 4 0 length $_pending ? :
1409 0 20 if exists $$_all{$_Q->{'_id'}}
1411 0 20 if not &looks_like_number($_i) or int $_i != $_i
1414 0 20 unless scalar @_
1427 0 20 if exists $$_all{$_Q->{'_id'}}
1429 0 20 if not &looks_like_number($_p) or int $_p != $_p
1431 0 20 if not &looks_like_number($_i) or int $_i != $_i
1434 0 20 unless scalar @_
1449 0 22 if exists $$_all{$_Q->{'_id'}}
1451 0 22 if not &looks_like_number($_i) or int $_i != $_i
1460 0 22 if exists $$_all{$_Q->{'_id'}}
1462 0 22 if not &looks_like_number($_p) or int $_p != $_p
1464 0 22 if not &looks_like_number($_i) or int $_i != $_i
1473 0 4 if exists $$_all{$_Q->{'_id'}}
1475 0 4 if not &looks_like_number($_i) or int $_i != $_i
1480 4 0 length $_ret ? :
1486 0 2 if exists $$_all{$_Q->{'_id'}}