X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=test%2Fpkey_meth_test.c;h=76537d7c1772a033d1f9fc160c19d9302bc150b5;hp=88765375fa7e9dcf0530b3d574caa9b87ee102f1;hb=5f9f67b9d494e26941aa8d66d28a6a993c557643;hpb=2fae041d6c507315a619e2f29bff86e44cc1d0a1 diff --git a/test/pkey_meth_test.c b/test/pkey_meth_test.c index 88765375fa..76537d7c17 100644 --- a/test/pkey_meth_test.c +++ b/test/pkey_meth_test.c @@ -1,5 +1,5 @@ /* - * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. * * Licensed under the OpenSSL license (the "License"). You may not use * this file except in compliance with the License. You can obtain a copy @@ -14,15 +14,9 @@ #include #include "testutil.h" -#include "test_main.h" -/********************************************************************** - * - * Test of EVP_PKEY_ASN1 method ordering - * - ***/ - -static int test_asn1_meths() +/* Test of EVP_PKEY_ASN1_METHOD ordering */ +static int test_asn1_meths(void) { int i; int prev = -1; @@ -47,17 +41,43 @@ static int test_asn1_meths() EVP_PKEY_asn1_get0_info(&pkey_id, NULL, NULL, &info, NULL, ameth); if (info == NULL) info = ""; - fprintf(stderr, "%d : %s : %s\n", pkey_id, OBJ_nid2ln(pkey_id), - info); + TEST_note("%d : %s : %s", pkey_id, OBJ_nid2ln(pkey_id), info); } - } else { - fprintf(stderr, "Order OK\n"); } + return good; +} + +/* Test of EVP_PKEY_METHOD ordering */ +static int test_pkey_meths(void) +{ + size_t i; + int prev = -1; + int good = 1; + int pkey_id; + const EVP_PKEY_METHOD *pmeth; + + for (i = 0; i < EVP_PKEY_meth_get_count(); i++) { + pmeth = EVP_PKEY_meth_get0(i); + EVP_PKEY_meth_get0_info(&pkey_id, NULL, pmeth); + if (pkey_id < prev) + good = 0; + prev = pkey_id; + } + if (!good) { + TEST_error("EVP_PKEY_METHOD table out of order"); + for (i = 0; i < EVP_PKEY_meth_get_count(); i++) { + pmeth = EVP_PKEY_meth_get0(i); + EVP_PKEY_meth_get0_info(&pkey_id, NULL, pmeth); + TEST_note("%d : %s", pkey_id, OBJ_nid2ln(pkey_id)); + } + } return good; } -void register_tests() +int setup_tests(void) { ADD_TEST(test_asn1_meths); + ADD_TEST(test_pkey_meths); + return 1; }