aboutsummaryrefslogtreecommitdiffstats
path: root/test/openssl/test_fips.rb
diff options
context:
space:
mode:
authorrhe <rhe@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-09-05 09:47:59 +0000
committerrhe <rhe@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-09-05 09:47:59 +0000
commitd68a6b3ebeb351ef3070bee417a843dbee3b14f8 (patch)
tree5accd137e04d652ac826105672d6bbed97e95db6 /test/openssl/test_fips.rb
parent31a447d1c38f33d8d34c3faa931eacb901227295 (diff)
downloadruby-d68a6b3ebeb351ef3070bee417a843dbee3b14f8.tar.gz
openssl: merge test fixes from upstream
Fix platform-dependent or fragile test cases added by r59734. This is a combined patch of the three commits below: 4fc17977350a test/test_fips: skip if setting FIPS mode fails b25179fbeebf test/test_asn1: fix possible failure in test_utctime 8ed81ff4b0a8 test/test_pair: fix test_write_nonblock{,_no_exceptions} git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59751 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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