aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2017-09-04 18:03:57 +0900
committerKazuki Yamaguchi <k@rhe.jp>2017-09-04 18:03:57 +0900
commit4fc17977350ae7aff3649ee2b79be400e5ecca2b (patch)
tree1cb275eca2a158cc30799a3acd942290f7cce301
parent199b5456bc4b13750d53cdf8bbb19490ecf05b84 (diff)
downloadruby-openssl-4fc17977350ae7aff3649ee2b79be400e5ecca2b.tar.gz
test/test_fips: skip if setting FIPS mode fails
-rw-r--r--test/test_fips.rb19
1 files changed, 13 insertions, 6 deletions
diff --git a/test/test_fips.rb b/test/test_fips.rb
index a4ab87f3..a577d789 100644
--- a/test/test_fips.rb
+++ b/test/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