Branch Coverage

inc/CryptX_Mac_HMAC.xs.inc
Criterion Covered Total %
branch 56 84 66.6


line true false branch
17 1 1777 if (id == -1) croak("FATAL: find_hash failed for '%s'", hash_name);
19 1776 1 if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar");
1 1775 if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar");
1 0 if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar");
1 0 if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar");
0 1 if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar");
23 0 1776 if (!RETVAL) croak("FATAL: Newz failed");
26 0 1776 if (rv != CRYPT_OK) {
46 0 0 if (self->state.hash >= 0 && self->state.hash < TAB_SIZE && cryptx_internal_noclone_hash(hash_descriptor[self->state.hash].name)) {
0 0 if (self->state.hash >= 0 && self->state.hash < TAB_SIZE && cryptx_internal_noclone_hash(hash_descriptor[self->state.hash].name)) {
0 0 if (self->state.hash >= 0 && self->state.hash < TAB_SIZE && cryptx_internal_noclone_hash(hash_descriptor[self->state.hash].name)) {
50 0 0 if (!RETVAL) croak("FATAL: Newz failed");
63 1 1779 if (self->finalized) croak("FATAL: MAC object already finalized");
64 1789 1779 for(i = 1; i < items; i++) {
66 1768 21 if (in_data_len > 0) {
68 0 1768 if (rv != CRYPT_OK) croak("FATAL: hmac_process failed: %s", error_to_string(rv));
71 0 1779 XPUSHs(ST(0)); /* return self */
87 1 1775 if (self->finalized) croak("FATAL: MAC object already finalized");
90 0 1775 if (rv != CRYPT_OK) croak("FATAL: hmac_done failed: %s", error_to_string(rv));
93 1 1774 if (ix == 3) {
95 0 1 if (rv != CRYPT_OK) croak("FATAL: base64url_encode failed: %s", error_to_string(rv));
98 1 1773 else if (ix == 2) {
100 0 1 if (rv != CRYPT_OK) croak("FATAL: base64_encode failed: %s", error_to_string(rv));
103 20 1753 else if (ix == 1) {
105 0 20 if (rv != CRYPT_OK) croak("FATAL: base16_encode failed: %s", error_to_string(rv));
126 92 1 if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar");
1 91 if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar");
1 0 if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar");
1 0 if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar");
0 1 if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar");
135 1 91 if (id == -1) croak("FATAL: find_hash failed for '%s'", hash_name);
137 0 91 if (rv != CRYPT_OK) croak("FATAL: hmac_init failed: %s", error_to_string(rv));
138 99 91 for (i = 2; i < items; i++) {
140 83 16 if (inlen > 0) {
142 0 83 if (rv != CRYPT_OK) croak("FATAL: hmac_process failed: %s", error_to_string(rv));
146 0 91 if (rv != CRYPT_OK) croak("FATAL: hmac_done failed: %s", error_to_string(rv));
149 13 78 if (ix == 3) {
151 0 13 if (rv != CRYPT_OK) croak("FATAL: base64url_encode failed: %s", error_to_string(rv));
154 13 65 else if (ix == 2) {
156 0 13 if (rv != CRYPT_OK) croak("FATAL: base64_encode failed: %s", error_to_string(rv));
159 52 13 else if (ix == 1) {
161 0 52 if (rv != CRYPT_OK) croak("FATAL: base16_encode failed: %s", error_to_string(rv));