From f38f331d44b685ecac656a1a730b239fcebf9ff7 Mon Sep 17 00:00:00 2001 From: Jun Aruga Date: Thu, 8 Feb 2024 18:53:32 +0100 Subject: [PATCH] test_provider.rb: Run a test requiring the legacy provider conditionally. In some cases, the legacy provider is not installed intentionally. So, we omit a test requiring the legacy provider if the legacy provider is not loadable. In the test_openssl_provider_names test, we use base provider instead of legacy provider, because we would expect the base provider is always loadable in OpenSSL 3 for now. You can see the list of the standard providers below. https://wiki.openssl.org/index.php/OpenSSL_3.0#Providers --- test/openssl/test_provider.rb | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/test/openssl/test_provider.rb b/test/openssl/test_provider.rb index d0e667858..b0ffae9ce 100644 --- a/test/openssl/test_provider.rb +++ b/test/openssl/test_provider.rb @@ -13,13 +13,13 @@ def test_openssl_provider_name_inspect def test_openssl_provider_names with_openssl <<-'end;' - legacy_provider = OpenSSL::Provider.load("legacy") + base_provider = OpenSSL::Provider.load("base") assert_equal(2, OpenSSL::Provider.provider_names.size) - assert_includes(OpenSSL::Provider.provider_names, "legacy") + assert_includes(OpenSSL::Provider.provider_names, "base") - assert_equal(true, legacy_provider.unload) + assert_equal(true, base_provider.unload) assert_equal(1, OpenSSL::Provider.provider_names.size) - assert_not_includes(OpenSSL::Provider.provider_names, "legacy") + assert_not_includes(OpenSSL::Provider.provider_names, "base") end; end @@ -34,7 +34,12 @@ def test_unloaded_openssl_provider def test_openssl_legacy_provider with_openssl(<<-'end;') - OpenSSL::Provider.load("legacy") + begin + OpenSSL::Provider.load("legacy") + rescue OpenSSL::Provider::ProviderError + omit "Only for OpenSSL with legacy provider" + end + algo = "RC4" data = "a" * 1000 key = OpenSSL::Random.random_bytes(16)