Add a minimal test provider
We test its validity by trying to load it. Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com> Reviewed-by: Todd Short <todd.short@me.com> (Merged from https://github.com/openssl/openssl/pull/22866)
This commit is contained in:
parent
8fa65a6648
commit
31c2c12f2d
@ -1042,6 +1042,13 @@ IF[{- !$disabled{tests} -}]
|
|||||||
SOURCE[p_test]=p_test.ld
|
SOURCE[p_test]=p_test.ld
|
||||||
GENERATE[p_test.ld]=../util/providers.num
|
GENERATE[p_test.ld]=../util/providers.num
|
||||||
ENDIF
|
ENDIF
|
||||||
|
MODULES{noinst}=p_minimal
|
||||||
|
SOURCE[p_minimal]=p_minimal.c
|
||||||
|
INCLUDE[p_minimal]=../include ..
|
||||||
|
IF[{- defined $target{shared_defflag} -}]
|
||||||
|
SOURCE[p_minimal]=p_minimal.ld
|
||||||
|
GENERATE[p_minimal.ld]=../util/providers.num
|
||||||
|
ENDIF
|
||||||
ENDIF
|
ENDIF
|
||||||
IF[{- $disabled{module} || !$target{dso_scheme} -}]
|
IF[{- $disabled{module} || !$target{dso_scheme} -}]
|
||||||
DEFINE[provider_test]=NO_PROVIDER_MODULE
|
DEFINE[provider_test]=NO_PROVIDER_MODULE
|
||||||
|
24
test/p_minimal.c
Normal file
24
test/p_minimal.c
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2019-2023 The OpenSSL Project Authors. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
||||||
|
* this file except in compliance with the License. You can obtain a copy
|
||||||
|
* in the file LICENSE in the source distribution or at
|
||||||
|
* https://www.openssl.org/source/license.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is the most minimal provider imaginable. It can be loaded, and does
|
||||||
|
* absolutely nothing else.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <openssl/core.h>
|
||||||
|
|
||||||
|
OSSL_provider_init_fn OSSL_provider_init; /* Check the function signature */
|
||||||
|
int OSSL_provider_init(const OSSL_CORE_HANDLE *handle,
|
||||||
|
const OSSL_DISPATCH *oin,
|
||||||
|
const OSSL_DISPATCH **out,
|
||||||
|
void **provctx)
|
||||||
|
{
|
||||||
|
return 1;
|
||||||
|
}
|
@ -12,10 +12,17 @@ use OpenSSL::Test::Utils;
|
|||||||
|
|
||||||
setup("test_provider");
|
setup("test_provider");
|
||||||
|
|
||||||
plan tests => 2;
|
plan tests => 3;
|
||||||
|
|
||||||
ok(run(test(['provider_test'])), "provider_test");
|
ok(run(test(['provider_test'])), "provider_test");
|
||||||
|
|
||||||
$ENV{"OPENSSL_MODULES"} = bldtop_dir("test");
|
$ENV{"OPENSSL_MODULES"} = bldtop_dir("test");
|
||||||
|
|
||||||
ok(run(test(['provider_test', '-loaded'])), "provider_test -loaded");
|
ok(run(test(['provider_test', '-loaded'])), "provider_test -loaded");
|
||||||
|
|
||||||
|
SKIP: {
|
||||||
|
skip "no module support", 1 if disabled("module");
|
||||||
|
|
||||||
|
ok(run(app(['openssl', 'list', '-provider', 'p_minimal',
|
||||||
|
'-providers', '-verbose'])));
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user