aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2017-09-05 13:44:30 +0900
committerKazuki Yamaguchi <k@rhe.jp>2017-09-05 13:44:30 +0900
commitb25179fbeebf9128c39e2875645be39daebf6113 (patch)
tree29d720bfce5631e3dcf5e71d360301f6a4392448
parent4fc17977350ae7aff3649ee2b79be400e5ecca2b (diff)
downloadruby-openssl-b25179fbeebf9128c39e2875645be39daebf6113.tar.gz
test/test_asn1: fix possible failure in test_utctime
OpenSSL function ASN1_TIME_adj() internally uses gmtime() to convert time_t into struct tm. Not all platforms handle negative time_t value. Reference: https://github.com/ruby/ruby/commit/609103dbb5fb182eec12f052226c43e39b907682#commitcomment-24056418
-rw-r--r--test/test_asn1.rb15
1 files changed, 10 insertions, 5 deletions
diff --git a/test/test_asn1.rb b/test/test_asn1.rb
index 3e7f8c13..11707037 100644
--- a/test/test_asn1.rb
+++ b/test/test_asn1.rb
@@ -379,11 +379,16 @@ class OpenSSL::TestASN1 < OpenSSL::TestCase
def test_utctime
encode_decode_test B(%w{ 17 0D }) + "160908234339Z".b,
OpenSSL::ASN1::UTCTime.new(Time.utc(2016, 9, 8, 23, 43, 39))
- # possible range of UTCTime is 1969-2068 currently
- encode_decode_test B(%w{ 17 0D }) + "690908234339Z".b,
- OpenSSL::ASN1::UTCTime.new(Time.utc(1969, 9, 8, 23, 43, 39))
- decode_test B(%w{ 17 0B }) + "6909082343Z".b,
- OpenSSL::ASN1::UTCTime.new(Time.utc(1969, 9, 8, 23, 43, 0))
+ # Seconds is omitted
+ decode_test B(%w{ 17 0B }) + "1609082343Z".b,
+ OpenSSL::ASN1::UTCTime.new(Time.utc(2016, 9, 8, 23, 43, 0))
+ begin
+ # possible range of UTCTime is 1969-2068 currently
+ encode_decode_test B(%w{ 17 0D }) + "690908234339Z".b,
+ OpenSSL::ASN1::UTCTime.new(Time.utc(1969, 9, 8, 23, 43, 39))
+ rescue OpenSSL::ASN1::ASN1Error
+ pend "No negative time_t support?"
+ end
# not implemented
# decode_test B(%w{ 17 11 }) + "500908234339+0930".b,
# OpenSSL::ASN1::UTCTime.new(Time.new(1950, 9, 8, 23, 43, 39, "+09:30"))