Branch Coverage

inc/CryptX_AuthEnc_SIV.xs.inc
Criterion Covered Total %
branch 79 126 62.7


line true false branch
19 0 9 if (id == -1) croak("FATAL: find_cipher failed for '%s'", cipher_name);
21 9 0 if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar");
2 7 if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar");
2 0 if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar");
1 1 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 8 0 if (!SvPOK_spec(plaintext)) croak("FATAL: plaintext must be string/buffer scalar");
1 7 if (!SvPOK_spec(plaintext)) croak("FATAL: plaintext must be string/buffer scalar");
1 0 if (!SvPOK_spec(plaintext)) croak("FATAL: plaintext must be string/buffer scalar");
1 0 if (!SvPOK_spec(plaintext)) croak("FATAL: plaintext must be string/buffer scalar");
0 1 if (!SvPOK_spec(plaintext)) croak("FATAL: plaintext must be string/buffer scalar");
26 8 0 if (SvOK(aad)) {
27 5 3 if (SvROK(aad) && SvTYPE(SvRV(aad)) == SVt_PVAV) {
4 1 if (SvROK(aad) && SvTYPE(SvRV(aad)) == SVt_PVAV) {
30 132 2 for (i = 0; i <= alen; i++) {
32 132 0 if (svp && SvOK(*svp)) {
132 0 if (svp && SvOK(*svp)) {
33 1 131 if (n_ad >= 126) croak("FATAL: too many associated data components (max 126)");
34 131 0 if (!SvPOK_spec(*svp)) croak("FATAL: associated data component must be string/buffer scalar");
2 129 if (!SvPOK_spec(*svp)) croak("FATAL: associated data component must be string/buffer scalar");
2 0 if (!SvPOK_spec(*svp)) croak("FATAL: associated data component must be string/buffer scalar");
1 1 if (!SvPOK_spec(*svp)) croak("FATAL: associated data component must be string/buffer scalar");
0 1 if (!SvPOK_spec(*svp)) croak("FATAL: associated data component must be string/buffer scalar");
41 4 0 if (!SvPOK_spec(aad)) croak("FATAL: associated data must be string/buffer scalar or arrayref");
1 3 if (!SvPOK_spec(aad)) croak("FATAL: associated data must be string/buffer scalar or arrayref");
1 0 if (!SvPOK_spec(aad)) croak("FATAL: associated data must be string/buffer scalar or arrayref");
1 0 if (!SvPOK_spec(aad)) croak("FATAL: associated data must be string/buffer scalar or arrayref");
0 1 if (!SvPOK_spec(aad)) croak("FATAL: associated data must be string/buffer scalar or arrayref");
48 6 0 RETVAL = NEWSV(0, ct_len > 0 ? ct_len : 1);
58 0 6 if (rv != CRYPT_OK) {
82 0 6 if (id == -1) croak("FATAL: find_cipher failed for '%s'", cipher_name);
84 6 0 if (!SvPOK_spec(key)) croak("FATAL: key must be string/buffer scalar");
1 5 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");
86 6 0 if (!SvPOK_spec(ciphertext)) croak("FATAL: ciphertext must be string/buffer scalar");
2 4 if (!SvPOK_spec(ciphertext)) croak("FATAL: ciphertext must be string/buffer scalar");
2 0 if (!SvPOK_spec(ciphertext)) croak("FATAL: ciphertext must be string/buffer scalar");
1 1 if (!SvPOK_spec(ciphertext)) croak("FATAL: ciphertext must be string/buffer scalar");
0 1 if (!SvPOK_spec(ciphertext)) croak("FATAL: ciphertext must be string/buffer scalar");
88 0 5 if (ct_len < 16) croak("FATAL: ciphertext too short");
90 5 0 if (SvOK(aad)) {
91 3 2 if (SvROK(aad) && SvTYPE(SvRV(aad)) == SVt_PVAV) {
2 1 if (SvROK(aad) && SvTYPE(SvRV(aad)) == SVt_PVAV) {
94 130 1 for (i = 0; i <= alen; i++) {
96 130 0 if (svp && SvOK(*svp)) {
130 0 if (svp && SvOK(*svp)) {
97 1 129 if (n_ad >= 126) croak("FATAL: too many associated data components (max 126)");
98 129 0 if (!SvPOK_spec(*svp)) croak("FATAL: associated data component must be string/buffer scalar");
0 129 if (!SvPOK_spec(*svp)) croak("FATAL: associated data component must be string/buffer scalar");
0 0 if (!SvPOK_spec(*svp)) croak("FATAL: associated data component must be string/buffer scalar");
0 0 if (!SvPOK_spec(*svp)) croak("FATAL: associated data component must be string/buffer scalar");
0 0 if (!SvPOK_spec(*svp)) croak("FATAL: associated data component must be string/buffer scalar");
105 3 0 if (!SvPOK_spec(aad)) croak("FATAL: associated data must be string/buffer scalar or arrayref");
1 2 if (!SvPOK_spec(aad)) croak("FATAL: associated data must be string/buffer scalar or arrayref");
1 0 if (!SvPOK_spec(aad)) croak("FATAL: associated data must be string/buffer scalar or arrayref");
1 0 if (!SvPOK_spec(aad)) croak("FATAL: associated data must be string/buffer scalar or arrayref");
0 1 if (!SvPOK_spec(aad)) croak("FATAL: associated data must be string/buffer scalar or arrayref");
112 4 0 output = NEWSV(0, pt_len > 0 ? pt_len : 1);
122 1 3 if (rv != CRYPT_OK) {
124 0 1 XPUSHs(sv_2mortal(newSVpvn(NULL, 0))); /* undef */
127 0 3 XPUSHs(sv_2mortal(output));