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/