Branch Coverage

blib/lib/File/KDBX/Key/YubiKey.pm
Criterion Covered Total %
branch 72 132 54.5


line true false branch
39 1 7 if ($hooks and my $hook = $self->{'pre_challenge'})
43 2 6 $timeout == 0 ? :
49 5 3 0 < $timeout ? :
55 1 6 if (my $t = $r->{'timeout'})
64 3 3 if ($exit_code != 0)
68 0 1 if ($yk_errno == "USB error" and $err =~ /resource busy/i and ++$try <= $RETRY_COUNT)
72 3 0 $err ? :
80 0 3 unless $resp =~ /^[A-Fa-f0-9]+$/
86 1 2 if ($hooks and my $hook = $self->{'post_challenge'})
102 1 2 unless my(%info) = $self->_get_yubikey_info($device)
106 3 1 unless $info{'touch_level'} & $config
109 0 1 if ($info{'product_id'} <= 278) { }
116 0 1 if (my $err = $@)
118 0 0 if ($yk_errno == 11) { }
0 0 elsif ($yk_errno != 0) { }
132 0 9 unless &Scalar::Util::blessed($_[0])
133 0 9 if $#_
0 12 unless &Scalar::Util::blessed($_[0])
134 0 12 if $#_
3 10 unless &Scalar::Util::blessed($_[0])
135 2 8 if $#_
0 0 unless &Scalar::Util::blessed($_[0])
136 0 0 if $#_
0 0 unless &Scalar::Util::blessed($_[0])
137 0 0 if $#_
0 8 unless &Scalar::Util::blessed($_[0])
138 0 8 if $#_
3 1 unless &Scalar::Util::blessed($_[0])
139 0 1 if $#_
141 0 4 unless &Scalar::Util::blessed($_[0])
142 0 4 if $#_
0 2 unless &Scalar::Util::blessed($_[0])
143 0 2 if $#_
0 2 unless &Scalar::Util::blessed($_[0])
144 0 2 if $#_
0 2 unless &Scalar::Util::blessed($_[0])
145 0 2 if $#_
0 2 unless &Scalar::Util::blessed($_[0])
146 0 2 if $#_
157 1 1 $self->requires_interaction ? :
182 4 0 0 < $timeout ? :
188 1 3 if ($exit_code != 0)
192 1 0 if $yk_errno == "no yubikey present"
193 0 0 if ($yk_errno == "operation would block" and ++$try <= $RETRY_COUNT)
197 0 0 $err ? :
206 0 3 unless ($out)
213 3 0 if defined $info{'vendor_id'}
214 3 0 if defined $info{'product_id'}
232 11 1 if $flags
241 0 12 if ($$ != $ppid)
247 1 0 if ($err or $r->{'exit_code'} == 0 and $r->{'err_msg'} eq "" and $r->{'stdout'} eq "" and $r->{'stderr'} eq "")
257 0 4 unless local $_ = shift()
258 1 3 if $_ =~ /USB error/
259 0 3 if $_ =~ /wrong size/
260 0 3 if $_ =~ /write error/
261 0 3 if $_ =~ /timeout/
262 1 2 if $_ =~ /no yubikey present/
263 0 2 if $_ =~ /unsupported firmware version/
264 0 2 if $_ =~ /out of memory/
265 0 2 if $_ =~ /no status structure given/
266 1 1 if $_ =~ /not yet implemented/
267 0 1 if $_ =~ /checksum mismatch/
268 1 0 if $_ =~ /operation would block/
269 0 0 if $_ =~ /invalid command for operation/
270 0 0 if $_ =~ /expected only one YubiKey but serveral present/
271 0 0 if $_ =~ /no data returned from device/