Condition Coverage

blib/lib/Crypt/SRP.pm
Criterion Covered Total %
condition 49 142 34.5


and 3 conditions

line !l l&&!r l&&r condition
233 3 0 1 defined $Bytes_a and not defined $Bytes_A
249 1 1 0 defined $Bytes_b and not defined $Bytes_B
278 0 0 1 defined $Bytes_M2 and defined $M2
0 0 1 defined $Bytes_M2 and defined $M2 and $Bytes_M2 eq $M2
380 5 0 1 @_ == 1 and ref $_[0] eq "HASH"
462 0 0 4 defined $self->{'Bytes_s'} and defined $self->{'Bytes_I'}
0 0 4 defined $self->{'Bytes_s'} and defined $self->{'Bytes_I'} and defined $self->{'Bytes_P'}
471 0 0 2 defined $self->{'Num_x'} and defined $self->{'Num_N'}
0 0 2 defined $self->{'Num_x'} and defined $self->{'Num_N'} and defined $self->{'Num_g'}
480 0 0 2 defined $self->{'Num_a'} and defined $self->{'Num_N'}
0 0 2 defined $self->{'Num_a'} and defined $self->{'Num_N'} and defined $self->{'Num_g'}
488 0 0 3 defined $self->{'Num_A'} and defined $self->{'Num_B'}
497 0 0 3 defined $self->{'Num_N'} and defined $self->{'Num_g'}
505 0 0 2 defined $self->{'Num_B'} and defined $self->{'Num_a'}
0 0 2 defined $self->{'Num_B'} and defined $self->{'Num_a'} and defined $self->{'Num_u'}
0 0 2 defined $self->{'Num_B'} and defined $self->{'Num_a'} and defined $self->{'Num_u'} and defined $self->{'Num_k'}
506 0 0 2 defined $self->{'Num_x'} and defined $self->{'Num_N'}
0 0 2 defined $self->{'Num_x'} and defined $self->{'Num_N'} and defined $self->{'Num_g'}
521 0 0 1 defined $self->{'Num_A'} and defined $self->{'Num_b'}
0 0 1 defined $self->{'Num_A'} and defined $self->{'Num_b'} and defined $self->{'Num_u'}
522 0 0 1 defined $self->{'Num_v'} and defined $self->{'Num_N'}
551 0 0 3 defined $self->{'Num_A'} and defined $self->{'Num_B'}
0 0 3 defined $self->{'Num_A'} and defined $self->{'Num_B'} and defined $self->{'Num_N'}
0 0 3 defined $self->{'Num_A'} and defined $self->{'Num_B'} and defined $self->{'Num_N'} and defined $self->{'Num_g'}
552 0 0 3 defined $self->{'Bytes_K'} and defined $self->{'Bytes_I'}
0 0 3 defined $self->{'Bytes_K'} and defined $self->{'Bytes_I'} and defined $self->{'Bytes_s'}
571 0 0 2 defined $self->{'Bytes_K'} and defined $self->{'Num_A'}
0 0 2 defined $self->{'Bytes_K'} and defined $self->{'Num_A'} and defined $self->{'Bytes_M1'}
586 0 0 1 defined $self->{'Num_k'} and defined $self->{'Num_b'}
0 0 1 defined $self->{'Num_k'} and defined $self->{'Num_b'} and defined $self->{'Num_N'}
0 0 1 defined $self->{'Num_k'} and defined $self->{'Num_b'} and defined $self->{'Num_N'} and defined $self->{'Num_g'}
625 0 0 0 $bytes and $self->{'Num_N'}
641 0 0 54 defined $bignum and ref $bignum eq "Math::BigInt"

or 2 conditions

line l !l condition
390 6 0 $args{'group'} || 'RFC5054-2048bit'
391 6 0 $args{'hash'} || 'SHA256'
392 1 5 $args{'format'} || 'raw'
393 0 6 $args{'interleaved'} || 0
394 0 6 $args{'saltlen'} || 32
395 1 5 $args{'appletv'} || 0
396 0 6 $args{'srptools'} || 0
635 0 0 shift() || 32

or 3 conditions

line l !l&&r !l&&!r condition
214 0 0 0 ref $s ne "HASH" or not defined $s->{'__VER__'}
296 0 0 0 $s_len ||= $self->{'SALTLEN'}
298 0 0 0 $nonce ||= join(":", @INC, $Crypt::SRP::Config{'archname'}, $Crypt::SRP::Config{'myuname'}, $^X, $^V, $<, $(, $ENV{'PATH'}, $ENV{'HOSTNAME'}, $ENV{'HOME'})
346 0 0 0 $salt_len ||= $self->{'SALTLEN'}
554 0 1 2 $self->{'SRPTOOLS'} or $self->{'APPLETV'}
573 0 0 2 $self->{'SRPTOOLS'} or $self->{'APPLETV'}
603 0 0 0 $len ||= $self->{'N_LENGTH'}
653 0 18 0 $format ||= $self->{'FORMAT'}
664 0 16 0 $format ||= $self->{'FORMAT'}