File 0646-crypto-Don-t-run-engine-tests-if-statically-linked.patch of Package erlang
From d92ddf58fe52480e4e09952f5f46ab5f58068954 Mon Sep 17 00:00:00 2001
From: Hans Nilsson <hans@erlang.org>
Date: Thu, 2 Sep 2021 13:59:43 +0200
Subject: [PATCH] crypto: Don't run engine tests if statically linked
---
lib/crypto/test/engine_SUITE.erl | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/lib/crypto/test/engine_SUITE.erl b/lib/crypto/test/engine_SUITE.erl
index e4bba9c3a8..bac30ba51a 100644
--- a/lib/crypto/test/engine_SUITE.erl
+++ b/lib/crypto/test/engine_SUITE.erl
@@ -168,7 +168,16 @@ init_per_group(engine_stored_key, Config) ->
init_per_group(engine_fakes_rsa, Config) ->
case crypto:info_lib() of
[{<<"OpenSSL">>,LibVer,_}] when is_integer(LibVer), LibVer >= 16#10100000 ->
- group_load_engine(Config, []);
+ CryptoInfo = crypto:info(),
+ ct:log("~p:~p crypto:info() = ~p",[?MODULE,?LINE,CryptoInfo]),
+ case CryptoInfo of
+ #{link_type := static} ->
+ ct:log("~p:~p Statically linked",[?MODULE,?LINE]),
+ {skip, "Statically linked"};
+ Info ->
+ %% Dynamically linked; use fake engine rsa implementation
+ group_load_engine(Config, [])
+ end;
_ ->
{skip, "Too low OpenSSL cryptolib version"}
end;
@@ -180,6 +189,7 @@ group_load_engine(Config, ExcludeMthds) ->
{ok, E} ->
ok = crypto:engine_register(E, crypto:engine_get_all_methods() -- ExcludeMthds),
KeyDir = key_dir(Config),
+ ct:log("storage engine ~p loaded.~nKeyDir = ~p", [E,KeyDir]),
[{storage_engine,E}, {storage_dir,KeyDir} | Config];
{error, notexist} ->
{skip, "OTP Test engine not found"};
@@ -1044,6 +1054,8 @@ sign_verify(Alg, Sha, KeySign, KeyVerify) ->
%%% Use fake engine rsa implementation
sign_verify_fake(Alg, Sha, KeySign, KeyVerify) ->
+ ct:log("~p:~p sign_verify_fake ~p~n Sha = ~p~n KeySign = ~p~n KeyVerify = ~p~n",
+ [?MODULE, ?LINE, Alg, Sha, KeySign, KeyVerify]),
case pubkey_alg_supported(Alg) of
true ->
PlainText = <<"Fake me!">>,
--
2.31.1