Condition Coverage

lib/RPC/Switch/Client/Tiny.pm
Criterion Covered Total %
condition 32 69 46.3


and 3 conditions

line !l l&&!r l&&r condition
58 0 864 0 $self->{'msglimit'} and $len > $self->{'msglimit'}
98 0 89 760 $msg->{'jsonrpc'} eq "2.0" and exists $msg->{'id'} || exists $msg->{'method'}
116 402 19 8 ref $msg->{'result'} ne "ARRAY" and $rsp ne "rpcswitch.ping"
421 8 0 ref $msg->{'result'} ne "ARRAY" and $rsp ne "rpcswitch.ping" and $rsp ne "rpcswitch.withdraw"
164 66 66 452 $self->{'state'} and $self->{'state'} ne "rpcswitch.hello"
226 0 0 0 $msg->{'params'}[0] eq "RES_OK" and $msg->{'params'}[1] eq $self->{'channels'}{$channel}
0 0 0 $msg->{'params'}[0] eq "RES_ERROR" and $msg->{'params'}[1] eq $self->{'channels'}{$channel}
325 0 0 20 exists $params->{'session'} and exists $params->{'session'}{'id'}
335 0 0 20 ref $params eq "ARRAY" and $params->[0] eq "RES_OK"
0 0 20 ref $params eq "ARRAY" and $params->[0] eq "RES_OK" and ref $params->[2]
0 0 20 ref $params eq "ARRAY" and $params->[0] eq "RES_OK" and ref $params->[2] and exists $params->[2]{'set_session'}
364 4 0 0 $@ and $@ =~ /^EINTR/
528 1072 0 19 $call_timeout and keys %{$$self{"reqs"};} > 0
538 0 0 0 $self->{'stop'} eq "withdraw" and keys %{$$self{"announced"};}
0 0 0 $self->{'stop'} eq "withdraw" and $self->{'async'}
0 0 0 $self->{'stop'} eq "withdraw" and $self->{'async'} and keys %{$$self{"async"}{"jobs"};}
566 421 19 0 @ready == 0 and $!{'EINTR'}
570 295 0 166 $fh != $self->{'sock'} and $self->{'async'}
585 97 0 0 $@ and $@ =~ /^EINTR/

or 3 conditions

line l !l&&r !l&&!r condition
98 677 172 0 exists $msg->{'id'} || exists $msg->{'method'}
391 6 0 14 $self->is_session_resp($params) or $self->is_session_req($msg->{'params'})
479 8 0 6 not exists $child->{'session'} or $child->{'session'}{'id'} ne $set_session->{'id'}
564 325 115 651 $timeout or @pipes