[前][次][番号順一覧][スレッド一覧]

ruby-changes:14910

From: naruse <ko1@a...>
Date: Sun, 28 Feb 2010 11:47:37 +0900 (JST)
Subject: [ruby-changes:14910] Ruby:r26780 (trunk): * test/openssl/{test_x509cert.rb,openssl,test_x509crl.rb,

naruse	2010-02-28 11:47:19 +0900 (Sun, 28 Feb 2010)

  New Revision: 26780

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=26780

  Log:
    * test/openssl/{test_x509cert.rb,openssl,test_x509crl.rb,
      test_x509req.rb}:
      fix false positive tests because of OpenSSL spec change.
      patched by originally Hongli Lai [ruby-core:27417],
      and fixed by Motohiro KOSAKI [ruby-core:28063]

  Modified files:
    trunk/ChangeLog
    trunk/test/openssl/test_x509cert.rb
    trunk/test/openssl/test_x509crl.rb
    trunk/test/openssl/test_x509req.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 26779)
+++ ChangeLog	(revision 26780)
@@ -1,3 +1,11 @@
+Sun Feb 28 11:42:55 2010  NARUSE, Yui  <naruse@r...>
+
+	* test/openssl/{test_x509cert.rb,openssl,test_x509crl.rb,
+	  test_x509req.rb}:
+	  fix false positive tests because of OpenSSL spec change.
+	  patched by originally Hongli Lai [ruby-core:27417],
+	  and fixed by Motohiro KOSAKI [ruby-core:28063]
+
 Sun Feb 28 11:21:03 2010  NARUSE, Yui  <naruse@r...>
 
 	* test/openssl/{test_x509cert.rb,openssl,test_x509req.rb}:
Index: test/openssl/test_x509cert.rb
===================================================================
--- test/openssl/test_x509cert.rb	(revision 26779)
+++ test/openssl/test_x509cert.rb	(revision 26780)
@@ -134,24 +134,25 @@
                       nil, nil, OpenSSL::Digest::SHA1.new)
     assert_equal(false, cert.verify(@rsa1024))
     assert_equal(true,  cert.verify(@rsa2048))
-    assert_equal(false, cert.verify(@dsa256))
-    assert_equal(false, cert.verify(@dsa512))
+    assert_equal(false, certificate_error_returns_false { cert.verify(@dsa256) })
+    assert_equal(false, certificate_error_returns_false { cert.verify(@dsa512) })
     cert.serial = 2
     assert_equal(false, cert.verify(@rsa2048))
 
     cert = issue_cert(@ca, @rsa2048, 1, Time.now, Time.now+3600, [],
                       nil, nil, OpenSSL::Digest::MD5.new)
     assert_equal(false, cert.verify(@rsa1024))
-    assert_equal(true,  cert.verify(@rsa2048))
-    assert_equal(false, cert.verify(@dsa256))
-    assert_equal(false, cert.verify(@dsa512))
+    assert_equal(true, cert.verify(@rsa2048))
+
+    assert_equal(false, certificate_error_returns_false { cert.verify(@dsa256) })
+    assert_equal(false, certificate_error_returns_false { cert.verify(@dsa512) })
     cert.subject = @ee1
     assert_equal(false, cert.verify(@rsa2048))
 
     cert = issue_cert(@ca, @dsa512, 1, Time.now, Time.now+3600, [],
                       nil, nil, OpenSSL::Digest::DSS1.new)
-    assert_equal(false, cert.verify(@rsa1024))
-    assert_equal(false, cert.verify(@rsa2048))
+    assert_equal(false, certificate_error_returns_false { cert.verify(@rsa1024) })
+    assert_equal(false, certificate_error_returns_false { cert.verify(@rsa2048) })
     assert_equal(false, cert.verify(@dsa256))
     assert_equal(true,  cert.verify(@dsa512))
     cert.not_after = Time.now
@@ -166,6 +167,14 @@
                         nil, nil, OpenSSL::Digest::MD5.new)
     }
   end
+  
+  private
+  
+  def certificate_error_returns_false
+    yield
+  rescue OpenSSL::X509::CertificateError
+    false
+  end
 end
 
 end
Index: test/openssl/test_x509crl.rb
===================================================================
--- test/openssl/test_x509crl.rb	(revision 26779)
+++ test/openssl/test_x509crl.rb	(revision 26780)
@@ -197,8 +197,8 @@
                     cert, @rsa2048, OpenSSL::Digest::SHA1.new)
     assert_equal(false, crl.verify(@rsa1024))
     assert_equal(true,  crl.verify(@rsa2048))
-    assert_equal(false, crl.verify(@dsa256))
-    assert_equal(false, crl.verify(@dsa512))
+    assert_equal(false, crl_error_returns_false { crl.verify(@dsa256) })
+    assert_equal(false, crl_error_returns_false { crl.verify(@dsa512) })
     crl.version = 0
     assert_equal(false, crl.verify(@rsa2048))
 
@@ -206,13 +206,21 @@
                       nil, nil, OpenSSL::Digest::DSS1.new)
     crl = issue_crl([], 1, Time.now, Time.now+1600, [],
                     cert, @dsa512, OpenSSL::Digest::DSS1.new)
-    assert_equal(false, crl.verify(@rsa1024))
-    assert_equal(false, crl.verify(@rsa2048))
+    assert_equal(false, crl_error_returns_false { crl.verify(@rsa1024) })
+    assert_equal(false, crl_error_returns_false { crl.verify(@rsa2048) })
     assert_equal(false, crl.verify(@dsa256))
     assert_equal(true,  crl.verify(@dsa512))
     crl.version = 0
     assert_equal(false, crl.verify(@dsa512))
   end
+  
+  private
+  
+  def crl_error_returns_false
+    yield
+  rescue OpenSSL::X509::CRLError
+    false
+  end
 end
 
 end
Index: test/openssl/test_x509req.rb
===================================================================
--- test/openssl/test_x509req.rb	(revision 26779)
+++ test/openssl/test_x509req.rb	(revision 26780)
@@ -107,22 +107,22 @@
     req = issue_csr(0, @dn, @rsa1024, OpenSSL::Digest::SHA1.new)
     assert_equal(true,  req.verify(@rsa1024))
     assert_equal(false, req.verify(@rsa2048))
-    assert_equal(false, req.verify(@dsa256))
-    assert_equal(false, req.verify(@dsa512))
+    assert_equal(false, request_error_returns_false { req.verify(@dsa256) })
+    assert_equal(false, request_error_returns_false { req.verify(@dsa512) })
     req.version = 1
     assert_equal(false, req.verify(@rsa1024))
 
     req = issue_csr(0, @dn, @rsa2048, OpenSSL::Digest::MD5.new)
     assert_equal(false, req.verify(@rsa1024))
     assert_equal(true,  req.verify(@rsa2048))
-    assert_equal(false, req.verify(@dsa256))
-    assert_equal(false, req.verify(@dsa512))
+    assert_equal(false, request_error_returns_false { req.verify(@dsa256) })
+    assert_equal(false, request_error_returns_false { req.verify(@dsa512) })
     req.subject = OpenSSL::X509::Name.parse("/C=JP/CN=FooBar")
     assert_equal(false, req.verify(@rsa2048))
 
     req = issue_csr(0, @dn, @dsa512, OpenSSL::Digest::DSS1.new)
-    assert_equal(false, req.verify(@rsa1024))
-    assert_equal(false, req.verify(@rsa2048))
+    assert_equal(false, request_error_returns_false { req.verify(@rsa1024) })
+    assert_equal(false, request_error_returns_false { req.verify(@rsa2048) })
     assert_equal(false, req.verify(@dsa256))
     assert_equal(true,  req.verify(@dsa512))
     req.public_key = @rsa1024.public_key
@@ -133,6 +133,14 @@
     assert_raise(OpenSSL::X509::RequestError){
       issue_csr(0, @dn, @dsa512, OpenSSL::Digest::MD5.new) }
   end
+  
+  private
+  
+  def request_error_returns_false
+    yield
+  rescue OpenSSL::X509::RequestError
+    false
+  end
 end
 
 end

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]