Condition Coverage

blib/lib/File/KDBX/Key/YubiKey.pm
Criterion Covered Total %
condition 47 86 54.6


and 3 conditions

line !l l&&!r l&&r condition
39 1 6 1 $hooks and my $hook = $self->{'pre_challenge'}
68 2 1 0 $yk_errno == "USB error" and $err =~ /resource busy/i
3 0 0 $yk_errno == "USB error" and $err =~ /resource busy/i and ++$try <= $RETRY_COUNT
86 1 1 1 $hooks and my $hook = $self->{'post_challenge'}
193 0 0 0 $yk_errno == "operation would block" and ++$try <= $RETRY_COUNT
247 4 7 1 $r->{'exit_code'} == 0 and $r->{'err_msg'} eq ""
11 0 1 $r->{'exit_code'} == 0 and $r->{'err_msg'} eq "" and $r->{'stdout'} eq ""
7 0 1 $r->{'exit_code'} == 0 and $r->{'err_msg'} eq "" and $r->{'stdout'} eq "" and $r->{'stderr'} eq ""

or 2 conditions

line l !l condition
72 3 0 $yk_errno || 0
98 0 1 delete $args{'limit'} // 4
105 4 0 $CONFIG_VALID[$slot] // (next)
117 0 0 ref $err && $err->details->{'yk_errno'} || 0
137 0 0 $_[0]{'pre_challenge'} //= undef
138 0 0 $_[0]{'post_challenge'} //= undef
139 2 6 $_[0]{'ykchalresp'} //= scalar &$default($_[0])
140 0 1 $_[0]{'ykinfo'} //= scalar &$default($_[0])
143 4 0 $_[0]{'serial'} //= scalar &$default($_[0])
144 2 0 $_[0]{'version'} //= scalar &$default($_[0])
145 2 0 $_[0]{'touch_level'} //= scalar &$default($_[0])
146 1 1 $_[0]{'vendor_id'} //= scalar &$default($_[0])
147 2 0 $_[0]{'product_id'} //= scalar &$default($_[0])
153 2 0 $self->product_id // (return)
155 2 0 $self->version || '?'
164 2 0 $self->touch_level // (return)
197 0 0 $yk_errno || 0
248 1 0 $err //= "No output"
283 2 0 $PIDS{$_[1]} // "Unknown"

or 3 conditions

line l !l&&r !l&&!r condition
31 0 4 4 $args{'device'} // $self->device
32 0 8 0 $args{'slot'} // $self->slot
33 1 6 1 $args{'timeout'} // $self->timeout
134 5 0 4 $_[0]{'device'} //= $default
135 8 4 0 $_[0]{'slot'} //= $default
136 5 5 0 $_[0]{'timeout'} //= $default
229 12 0 0 $self->$name // $name
247 0 12 0 $err or $r->{'exit_code'} == 0 and $r->{'err_msg'} eq "" and $r->{'stdout'} eq "" and $r->{'stderr'} eq ""