aboutsummaryrefslogtreecommitdiffstats
path: root/test/openssl/test_fips.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/openssl/test_fips.rb')
-rw-r--r--test/openssl/test_fips.rb19
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