Condition Coverage

blib/lib/Danga/Socket.pm
Criterion Covered Total %
condition 38 119 31.9


and 3 conditions

line !l l&&!r l&&r condition
190 4 0 2 defined $Epoll and $Epoll >= 0
191 6 0 0 defined $KQueue and $KQueue >= 0
369 0 0 4 defined $Epoll && $Epoll >= 0
430 1 20 6 @Timers and $Timers[0][0] <= $now
503 0 0 0 $state & 1 and not $$pob{'closed'}
509 0 0 0 $state & 4 and not $$pob{'closed'}
516 0 0 0 $state & 8 and not $$pob{'closed'}
521 0 0 0 $state & 16 and not $$pob{'closed'}
532 13 0 3 $state & 1 and not $$pob{'closed'}
533 3 1 12 $state & 4 and not $$pob{'closed'}
535 0 0 0 $state & 8 and not $$pob{'closed'}
536 0 0 0 $state & 16 and not $$pob{'closed'}
594 1 0 3 $state & 1 and not $$pob{'closed'}
595 3 0 1 $state & 4 and not $$pob{'closed'}
596 4 0 0 $state & 8 and not $$pob{'closed'}
597 4 0 0 $state & 16 and not $$pob{'closed'}
635 0 0 0 $filter == IO::KQueue::EVFILT_READ() and not $$pob{'closed'}
636 0 0 0 $filter == IO::KQueue::EVFILT_WRITE() and not $$pob{'closed'}
637 0 0 0 $flags == IO::KQueue::EV_EOF() and not $$pob{'closed'}
668 0 0 2 defined $ref and ref $ref eq 'CODE'
675 0 0 4 defined $ref && ref $ref eq 'CODE'
697 0 0 6 not $$pob{'closed'} and $$pob{'event_watch'} & 1
725 0 1 1 $keep_running &&= &$plc(\%DescriptorMap, \%OtherFds)
730 1 4 33 $keep_running &&= &$PostLoopCallback(\%DescriptorMap, \%OtherFds)
761 0 0 10 $sock and $fd
911 0 0 1 $HaveEpoll and $$self{'fd'}
1148 4 0 0 not $res and $! != 11
1241 2 0 4 $val and caller ne 'Danga::Socket'

or 2 conditions

line l !l condition
416 0 0 $Profiling{$k} ||= [0, 0, 0]
761 0 0 $sock || ''
0 0 $fd || ''
1397 0 0 shift() || ''

or 3 conditions

line l !l&&r !l&&!r condition
322 1 1 4 not @Timers or $fire_time >= $Timers[-1][0]
375 4 0 0 $HaveEpoll || $HaveKQueue
826 0 0 0 $! == 9 or $! == 88
0 0 0 $! == 92 or $!{'ENOTSOCK'}
0 0 0 $! == 92 or $!{'ENOTSOCK'} or $!{'EOPNOTSUPP'}
954 0 0 0 not defined $wtr or UNIVERSAL::isa($wtr, 'CODE')
1001 2 0 0 $bref ||= $$self{'write_buf'}[0]
1203 0 0 8 $$self{'closed'} or not $$self{'sock'}
1233 0 0 6 $$self{'closed'} or not $$self{'sock'}