Condition Coverage

blib/lib/Net/Gen.pm
Criterion Covered Total %
condition 102 281 36.3


and 2 conditions

line l !l condition
968 0 0 not defined getpeername $self and ${*$self;}{'wasconnected'} = 3
1136 5 0 not defined $from and 1

and 3 conditions

line !l l&&!r l&&r condition
172 0 0 0 $wh and ref $wh eq 'CODE'
0 0 0 $wh and ref $wh eq 'CODE' and $wh == $nullsub
176 0 0 12 @_ and ref $_[0]
0 4 8 @_ and ref $_[0] and @_ < 3
4 8 0 @_ and ref $_[0] and @_ < 3 and exists ${*{$_[0];};}{'Keys'}{$constname}
332 0 191 0 $level and $this->_debug >= $level
376 0 0 17 defined $F_GETFL and defined $F_SETFL
0 0 17 defined $F_GETFL and defined $F_SETFL and defined $nonblock_flag
0 8 9 defined $F_GETFL and defined $F_SETFL and defined $nonblock_flag and $self->isopen
392 0 0 2 defined $F_GETFL and defined $F_SETFL
0 0 2 defined $F_GETFL and defined $F_SETFL and defined $nonblock_flag
482 0 0 0 @_ == 3 and ref $_[2] eq 'ARRAY'
538 3 3 1 $parms and ref $parms eq 'HASH'
541 6 0 1 @_ > 2 and $parms
6 1 0 @_ > 2 and $parms and ref $parms eq 'HASH'
584 0 0 60 @_ > 1 and ref $newparams eq 'HASH'
599 118 44 5 $newonly < 0 and defined $$pslot
604 72 11 0 defined $$pslot eq defined $newval and !defined($newval) || $$pslot eq $newval || !($$pslot =~ /\D/ || $newval =~ /\D/) && length $newval && length $$pslot && $$pslot == $newval
615 160 0 0 $newonly > 0 and defined $$pslot
618 117 0 43 defined ${*$self;}{'Keys'}{$parm} and ref ${*$self;}{'Keys'}{$parm} eq 'CODE'
757 6 0 0 $$pf == 0 and $$af != 0
6 0 0 $$af == 0 and $$pf != 0
819 0 0 0 $type and $type == 1
838 0 0 0 ${*$self;}{'Parms'}{'dstaddr'} and ${*$self;}{'Parms'}{'dstaddr'} ne $addr
845 0 0 0 $self->getparam('srcaddr') || $self->getparam('srcaddrlist') and not $self->isbound
885 0 2 0 not $$hval{'isconnecting'} and $$hval{'wasconnected'}
889 2 0 0 $$parms{'srcaddr'} || $$parms{'srcaddrlist'} and not $$hval{'isconnecting'}
2 0 0 $$parms{'srcaddr'} || $$parms{'srcaddrlist'} and not $$hval{'isconnecting'} and not $self->isbound
898 1 0 1 defined($timeout = $$parms{'timeout'}) and $self->blocking
903 0 0 2 defined $dlist and ref $dlist eq 'ARRAY'
0 0 2 defined $dlist and ref $dlist eq 'ARRAY' and not $$hval{'isconnecting'}
911 0 0 0 defined $timeout and not $timeout
0 0 0 defined $timeout and not $timeout and $connip{0 + $!}
941 0 5 0 $sad && $dad
958 3 0 0 defined $how and not $how =~ /\D/
3 0 0 defined $how and not $how =~ /\D/ and length $how
1019 1 2 1 $self->isconnected and ${*$self;}{'Parms'}{'netgen_fakeconnect'}
1075 0 0 0 @_ and ref $self
1084 0 0 0 defined $flags && defined $nonblock_flag
1100 0 5 0 @_ and ref $self
1110 5 0 0 defined ${*$self;}{'sockLineBuf'} and not $flags
1125 0 3 2 defined $from and $from eq ''
1126 1 3 1 defined $xfrom and $from eq ''
4 0 1 defined $xfrom and $from eq '' and $xfrom ne ''
1159 0 2 0 @_ and ref $self
1169 0 0 0 defined $buf and defined $rval
1179 2 2 0 defined $buf and $buf =~ /\Q$sep\E/
1189 0 0 2 defined $buf and ($tbuf = index($buf, $sep)) >= 0
2810 0 0 0 defined ${*$self;}{'Parms'}{'srcaddr'} and length ${*$self;}{'Parms'}{'srcaddr'}
3046 0 0 3 $self->isopen and defined CORE::fileno $self
3062 0 2 0 $doread and defined ${*$self;}{'sockLineBuf'}
3065 2 0 0 defined ${*$self;}{'sockLineBuf'} and $doread
2 0 0 defined ${*$self;}{'sockLineBuf'} and $doread and $rvec ne $fhvec
3070 0 0 0 $doread && $rvec eq $fhvec
0 0 0 $dowrite && $wvec eq $fhvec
0 0 0 $doxcept && $xvec eq $fhvec
3184 0 0 1 defined $timeout and ${*$self;}{'Parms'}{'blocking'}

or 2 conditions

line l !l condition
589 17 43 $newonly ||= 0
1106 2 0 unpack('I', getsockopt($self, 1, 8)) || (stat $self)[11] || 8192

or 3 conditions

line l !l&&r !l&&!r condition
223 0 0 4 @_ != 3 or ref $opts ne 'HASH'
231 0 4 0 $evalopts{$class} ||= eval "package $class; no strict 'refs';" . 'sub ($) {local($SIG{__WARN__})=$nullwarn;local($SIG{__DIE__});' . '&{$_[0]}()}'
238 0 0 48 $@ or not defined $oval
0 0 48 $@ or not defined $oval or $oval eq ''
342 0 0 8 $val eq '' or $val =~ /\D/
430 0 0 3 not length $newval or $newval =~ /\D/
456 0 0 5 @_ != 2 or ref $names ne 'ARRAY'
479 0 0 0 @_ < 3 or ref $names ne 'ARRAY'
484 0 0 5 @$handlers != @$names or grep((ref $_ ne 'CODE'), @$handlers)
544 1 6 0 ref $pack || $pack
567 7 0 0 $self || $pack
604 2 0 9 !defined($newval) || $$pslot eq $newval || !($$pslot =~ /\D/ || $newval =~ /\D/) && length $newval && length $$pslot && $$pslot == $newval
694 0 0 17 @_ < 2 or not ref $self
0 0 17 @_ < 2 or not ref $self or ref $aref ne 'ARRAY'
783 0 0 0 defined $timeout or ${*$self;}{'Parms'}{'blocking'}
845 0 0 0 $self->getparam('srcaddr') || $self->getparam('srcaddrlist')
885 0 0 2 $$hval{'isconnected'} or not $$hval{'isconnecting'} and $$hval{'wasconnected'}
888 1 1 0 $self->isopen or $self->open
889 0 0 2 $$parms{'srcaddr'} || $$parms{'srcaddrlist'}
911 2 0 0 $rval or defined $timeout and not $timeout and $connip{0 + $!}
941 2 0 0 defined $sad || defined $dad
956 3 0 2 $self->isconnected or $self->isconnecting
968 3 0 0 $was == 3 or not defined getpeername $self and ${*$self;}{'wasconnected'} = 3
1014 0 0 6 @_ < 2 or not ref $self
1019 1 3 2 defined $whither || $self->isconnected
1104 5 0 0 $self->isopen or $self->open
2802 0 0 3 $self->wasconnected or $self->isconnected
0 0 3 $self->wasconnected or $self->isconnected or $self->isconnecting
0 0 3 $self->wasconnected or $self->isconnected or $self->isconnecting or $self->isbound
2805 3 0 0 $self->isopen or $self->open
2854 0 0 1 $maxq =~ /\D/ or not ref $self
2857 1 0 0 $self->isbound or $self->bind
2989 2 0 0 length $rval or $$aref[3]
3175 1 0 0 $self->didlisten or $self->listen