Skip to content

Commit

Permalink
endecode_test.c: Add tests for decoding with 0 selection
Browse files Browse the repository at this point in the history
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Todd Short <todd.short@me.com>
(Merged from openssl#21519)

(cherry picked from commit 4c50610)
(cherry picked from commit 42f32b4)
  • Loading branch information
t8m authored and xl32 committed Sep 29, 2023
1 parent 72ec2b1 commit b7b0703
Showing 1 changed file with 14 additions and 2 deletions.
16 changes: 14 additions & 2 deletions test/endecode_test.c
Expand Up @@ -158,6 +158,7 @@ static int test_encode_decode(const char *file, const int line,
void *encoded = NULL;
long encoded_len = 0;
EVP_PKEY *pkey2 = NULL;
EVP_PKEY *pkey3 = NULL;
void *encoded2 = NULL;
long encoded2_len = 0;
int ok = 0;
Expand Down Expand Up @@ -185,15 +186,25 @@ static int test_encode_decode(const char *file, const int line,
output_type, output_structure,
(flags & FLAG_DECODE_WITH_TYPE ? type : NULL),
selection, pass))
|| ((output_structure == NULL
|| strcmp(output_structure, "type-specific") != 0)
&& !TEST_true(decode_cb(file, line, (void **)&pkey3, encoded, encoded_len,
output_type, output_structure,
(flags & FLAG_DECODE_WITH_TYPE ? type : NULL),
0, pass)))
|| !TEST_true(encode_cb(file, line, &encoded2, &encoded2_len, pkey2, selection,
output_type, output_structure, pass, pcipher)))
goto end;

if (selection == OSSL_KEYMGMT_SELECT_DOMAIN_PARAMETERS) {
if (!TEST_int_eq(EVP_PKEY_parameters_eq(pkey, pkey2), 1))
if (!TEST_int_eq(EVP_PKEY_parameters_eq(pkey, pkey2), 1)
|| (pkey3 != NULL
&& !TEST_int_eq(EVP_PKEY_parameters_eq(pkey, pkey3), 1)))
goto end;
} else {
if (!TEST_int_eq(EVP_PKEY_eq(pkey, pkey2), 1))
if (!TEST_int_eq(EVP_PKEY_eq(pkey, pkey2), 1)
|| (pkey3 != NULL
&& !TEST_int_eq(EVP_PKEY_eq(pkey, pkey3), 1)))
goto end;
}

Expand All @@ -218,6 +229,7 @@ static int test_encode_decode(const char *file, const int line,
OPENSSL_free(encoded);
OPENSSL_free(encoded2);
EVP_PKEY_free(pkey2);
EVP_PKEY_free(pkey3);
return ok;
}

Expand Down

0 comments on commit b7b0703

Please sign in to comment.