Skip to content

Commit

Permalink
test_provider.rb: Run a test requiring the legacy provider conditiona…
Browse files Browse the repository at this point in the history
…lly.

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
  • Loading branch information
junaruga committed Feb 8, 2024
1 parent a4f721e commit f38f331
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions test/openssl/test_provider.rb
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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)
Expand Down

0 comments on commit f38f331

Please sign in to comment.