Condition Coverage

blib/lib/Net/Server.pm
Criterion Covered Total %
condition 77 192 40.1


and 2 conditions

line l !l condition
798 0 3 $prop->{'children'} and scalar keys %{$$prop{'children'};}
816 0 0 defined $prop->{'children'} and scalar keys %{$$prop{'children'};}
860 0 0 $prop->{'leave_children_open_on_hup'} and scalar keys %{$$prop{'children'};}

and 3 conditions

line !l l&&!r l&&r condition
71 0 0 13 $self->allow_deny($c) && $self->allow_deny_hook($c)
106 0 0 70 $script =~ m[^[^/]+/] and $ENV{'PWD'}
116 73 0 27 $_[0] && ref $_[0]
135 70 0 0 defined $prop->{'log_level'} and $prop->{'log_level'} =~ /^\d+$/
164 70 0 0 length $prop->{'log_file'} and not $prop->{'log_function'}
242 0 62 7 ref $ports and not @$ports
244 7 0 0 ref $ports and not @$ports
258 0 100 0 $port ne '0' and $bound{"$host\e$port\e$proto\e$ipv"}++
489 6 0 3 $client->can('tie_stdout') and $client->tie_stdout
514 0 0 0 $prop->{'log_level'} and 3 <= $prop->{'log_level'}
544 0 12 0 $addr and defined $prop->{'reverse_lookups'}
545 0 0 0 $INC{'Socket6.pm'} and 'Socket6'->can('getnameinfo')
556 0 12 0 $prop->{'log_level'} and 3 <= $prop->{'log_level'}
567 0 13 0 $sock and $sock->NS_proto =~ /^UNIX/
582 0 0 0 $prop->{'reverse_lookups'} and defined $prop->{'peerhost'}
0 0 0 $prop->{'reverse_lookups'} and defined $prop->{'peerhost'} and $prop->{'peerhost'} =~ /^$_$/
593 0 0 0 $prop->{'reverse_lookups'} and defined $prop->{'peerhost'}
0 0 0 $prop->{'reverse_lookups'} and defined $prop->{'peerhost'} and $prop->{'peerhost'} =~ /^$_$/
713 9 3 0 defined $prop->{'ppid'} and $prop->{'ppid'} != $$
12 0 0 defined $prop->{'ppid'} and $prop->{'ppid'} != $$ and not defined $prop->{'no_close_by_child'}
724 12 0 0 $prop->{'kind_quit'} and $prop->{'children'}
736 12 0 0 $prop->{'_HUP'} and $prop->{'leave_children_open_on_hup'}
744 10 0 2 defined $prop->{'lock_file'} and -e $prop->{'lock_file'}
10 0 2 defined $prop->{'lock_file'} and -e $prop->{'lock_file'} and defined $prop->{'lock_file_unlink'}
749 12 0 0 defined $prop->{'pid_file'} and -e $prop->{'pid_file'}
12 0 0 defined $prop->{'pid_file'} and -e $prop->{'pid_file'} and not $prop->{'_HUP'}
0 0 0 defined $prop->{'pid_file'} and -e $prop->{'pid_file'} and not $prop->{'_HUP'} and defined $prop->{'pid_file_unlink'}
897 0 68 25 $level =~ /^\d+$/ and $level > $prop->{'log_level'}
903 0 0 0 $prop->{'log_class'} and $prop->{'log_class'}->can('handle_error')
975 106 0 27 $template and ref $template
983 5 13 314 $args->[$i] =~ /^(?:--)?(\w+)(?:[=\ ](\S+))?$/ and exists $template->{$1}
988 33 278 0 $args->[$i] and $args->[$i] =~ /^--\w+/
993 276 26 9 ref $val eq 'ARRAY' and @$val == 1
302 9 0 ref $val eq 'ARRAY' and @$val == 1 and ref $template->{$key} ne 'ARRAY'

or 2 conditions

line l !l condition
35 71 0 shift() || die('Missing class')
87 73 0 $self->{'server'} ||= {}
100 73 70 $self->{'server'}{'commandline'} || die('commandline was not set during initialization')
124 92 0 $self->default_values || {}
431 7 0 $self->accept_multi_port || (next)
522 0 0 $ENV{'REMOTE_HOST'} || '0.0.0.0'
768 0 12 $exit_val || 0
945 106 0 shift() || {}
1069 3 0 $self->{'server'}{'sig_passthrough'} || []

or 3 conditions

line l !l&&r !l&&!r condition
147 0 0 69 $prop->{'setsid'} or length $prop->{'log_file'}
154 0 0 70 $prop->{'setsid'} or $prop->{'background'}
197 0 0 0 $file =~ /::/ or grep {-e "$_/$file";} @INC
226 0 3 0 delete $prop->{'_recursive_multitype'} || 'Net::Server::MultiType'->net_server_type
241 69 0 0 $ports ||= $prop->{'ports'}
242 0 7 62 not defined $ports or ref $ports and not @$ports
244 0 0 7 not defined $ports or ref $ports and not @$ports
321 6 1 5 @{$prop->{'sock'};} > 1 or $prop->{'multi_port'}
359 0 0 13 $prop->{'group'} ne $) or $prop->{'user'} ne $>
475 12 0 0 shift() || $prop->{'client'}
489 1 3 6 $prop->{'tie_client_stdout'} or $client->can('tie_stdout') and $client->tie_stdout
510 12 0 0 shift() || $prop->{'client'}
564 12 1 0 shift() || $prop->{'client'}
573 0 0 13 @{$prop->{'allow'};} or @{$prop->{'deny'};}
0 0 13 @{$prop->{'allow'};} or @{$prop->{'deny'};} or @{$prop->{'cidr_allow'};}
0 0 13 @{$prop->{'allow'};} or @{$prop->{'deny'};} or @{$prop->{'cidr_allow'};} or @{$prop->{'cidr_deny'};}
613 1 0 0 shift() || $prop->{'client'}
802 4 0 0 kill 15, $pid or not kill(0, $pid)
840 0 0 0 POSIX::dup($sock->fileno) || $self->fatal("Cannot duplicate the socket [$!]")
976 27 106 0 $_[2] or scalar keys %$template
106 0 0 $_[2] or scalar keys %$template or $self->{'server'}{'_no_options'}++
988 0 0 311 $i > $#$args or $args->[$i] and $args->[$i] =~ /^--\w+/