From eb4082284aace391a16a389a70eeaf1e7db5c542 Mon Sep 17 00:00:00 2001 From: Jun Aruga Date: Thu, 8 Feb 2024 18:53:32 +0100 Subject: [PATCH] [ruby/openssl] test_provider.rb: Make a legacy provider test optional. In some cases such as OpenSSL package in FreeBSD[1], the legacy provider is not installed intentionally. So, we omit a test depending the legacy provider if the legacy provider is not loadable. For the test_openssl_provider_names test, we use base provider[2] instead of legacy provider, because we would expect the base provider is always loadable in OpenSSL 3 for now. * [1] https://www.freshports.org/security/openssl/ * [2] https://wiki.openssl.org/index.php/OpenSSL_3.0#Providers https://github.com/ruby/openssl/commit/7223da7730 --- 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 d0e6678587..b0ffae9ce7 100644 --- a/test/openssl/test_provider.rb +++ b/test/openssl/test_provider.rb @@ -13,13 +13,13 @@ class OpenSSL::TestProvider < OpenSSL::TestCase 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 @@ class OpenSSL::TestProvider < OpenSSL::TestCase 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)