Condition Coverage

blib/lib/Authen/Radius.pm
Criterion Covered Total %
condition 50 135 37.0


and 2 conditions

line l !l condition
277 1 0 defined $self->{'sock_list'} and scalar @{$self->{'sock_list'};}

and 3 conditions

line !l l&&!r l&&r condition
166 7 1 1 $self->{'node_list_a'} and not exists $self->{'node_list_a'}{$ip . ':' . $port}
209 3 0 0 $self->{'message_auth'} and $type == 1
241 0 0 0 not $retransmit and defined $self->{'sock'}
320 0 0 0 $detect_bad_id and defined $id
0 0 0 $detect_bad_id and defined $id and $id != $request_id
371 1 0 0 defined $rcv && $rcv == 2
388 0 4 0 defined $value and defined $dict_val{$name}{$value}
398 1 0 0 $id == 2 and $vendor eq 'not defined'
463 0 0 1 defined $prefix_len and $prefix_len < 128
630 3 0 1 $id == 2 and $vendor eq 'not defined'
1069 0 0 0 $vendor and $vendor eq '-' || $vendor =~ /^\[/
1082 1884 36 44 $extra and not $extra =~ /^#/
1127 0 0 24 exists $dict_name{$name} and $dict_name{$name}{'type'} eq 'tlv'

or 2 conditions

line l !l condition
192 1 2 $self->{'attributes'} //= ''
363 1 0 $nas || '127.0.0.1'
564 2 1 $self->{'attributes'} // ''
580 2 0 $dict_id{$vendor}{$id} // {}
923 0 0 $a->{'Tag'} //= 0
938 0 0 $id // '?'
0 0 $type // '?'
1042 0 56 $opt{'format'} // ''
1043 0 56 $opt{'format'} // ''
1048 56 0 $file ||= '/etc/raddb/dictionary'
1079 1512 0 $dict_def_vendor // 'not defined'

or 3 conditions

line l !l&&r !l&&!r condition
108 10 1 0 $h{'Host'} or $h{'NodeList'}
114 11 0 0 $serv_port || exists $SERVICES{$service}
130 8 0 0 $n_port ||= $serv_port
150 2 8 0 $port ||= $serv_port
202 0 0 3 $type == 4 or $type == 40
0 0 3 $type == 4 or $type == 40 or $type == 43
209 0 0 3 $self->{'message_auth'} and $type == 1 or $type == 12
239 3 0 0 $self->{'sock'}->send($data) || $self->set_error('ESENDFAIL', $!)
243 0 0 0 $self->{'sock'}->send($data) || $self->set_error('ESENDFAIL', $!)
260 0 0 0 $new_sock->send($data) || $self->set_error('ESENDFAIL', $!)
264 0 0 0 $res ||= $res
297 0 0 1 defined $from_addr_n || defined $self->{'sock_list'}
574 2 0 0 $dict_vendor_id{$vendor_id}{'name'} // $vendor_id
582 2 0 0 $r->{'name'} // $id
607 1 1 0 $dict_vendor_name{$attr->{'Vendor'}}{'id'} // int $attr->{'Vendor'}
797 0 2 0 $sattr->{'Type'} // $dict_name{$sattr_name}{'type'}
798 2 0 0 $dict_name{$sattr_name}{'id'} // int $sattr_name
879 2 0 0 $dict_name{$attr_name}{'id'} // int $attr_name
911 0 2 0 $a->{'Type'} // $def->{'type'}
912 0 0 2 $a->{'Tag'} // $def->{'has_tag'}
924 0 0 0 $a->{'Tag'} < 1 or $a->{'Tag'} > 31
1058 872 1208 8728 $line =~ /^\s*$/ or $line =~ /^#/
1069 0 0 0 $vendor eq '-' || $vendor =~ /^\[/
1079 452 1512 0 $vendor ||= $dict_def_vendor // 'not defined'