diff options
Diffstat (limited to 'test/openssl/test_fips.rb')
-rw-r--r-- | test/openssl/test_fips.rb | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/test/openssl/test_fips.rb b/test/openssl/test_fips.rb index a4ab87f384..a577d7891e 100644 --- a/test/openssl/test_fips.rb +++ b/test/openssl/test_fips.rb @@ -10,13 +10,20 @@ class OpenSSL::TestFIPS < OpenSSL::TestCase end def test_fips_mode_get - if OpenSSL::OPENSSL_FIPS - OpenSSL.fips_mode = true - assert OpenSSL.fips_mode == true, ".fips_mode returns true when .fips_mode=true" + return unless OpenSSL::OPENSSL_FIPS + assert_separately([{ "OSSL_MDEBUG" => nil }, "-ropenssl"], <<~"end;") + require #{__FILE__.dump} - OpenSSL.fips_mode = false - assert OpenSSL.fips_mode == false, ".fips_mode returns false when .fips_mode=false" - end + begin + OpenSSL.fips_mode = true + assert OpenSSL.fips_mode == true, ".fips_mode returns true when .fips_mode=true" + + OpenSSL.fips_mode = false + assert OpenSSL.fips_mode == false, ".fips_mode returns false when .fips_mode=false" + rescue OpenSSL::OpenSSLError + pend "Could not set FIPS mode (OpenSSL::OpenSSLError: \#$!); skipping" + end + end; end end |