ruby-changes:23389
From: nobu <ko1@a...>
Date: Mon, 23 Apr 2012 22:49:00 +0900 (JST)
Subject: [ruby-changes:23389] nobu:r35440 (trunk): skip OpenSSL dependent tests if not available
nobu 2012-04-23 22:48:41 +0900 (Mon, 23 Apr 2012) New Revision: 35440 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=35440 Log: skip OpenSSL dependent tests if not available Modified files: trunk/test/net/imap/test_imap.rb trunk/test/open-uri/test_ssl.rb trunk/test/rubygems/test_gem_remote_fetcher.rb trunk/test/xmlrpc/test_client.rb Index: test/xmlrpc/test_client.rb =================================================================== --- test/xmlrpc/test_client.rb (revision 35439) +++ test/xmlrpc/test_client.rb (revision 35440) @@ -102,7 +102,7 @@ refute user refute password refute timeout - end + end if defined?(OpenSSL) def test_new2_ssl_custom_port client = Fake::Client.new2 'https://example.org:1234/foo' @@ -117,7 +117,7 @@ refute user refute password refute timeout - end + end if defined?(OpenSSL) def test_new2_user_password client = Fake::Client.new2 'http://aaron:tenderlove@e.../foo' Index: test/rubygems/test_gem_remote_fetcher.rb =================================================================== --- test/rubygems/test_gem_remote_fetcher.rb (revision 35439) +++ test/rubygems/test_gem_remote_fetcher.rb (revision 35440) @@ -1,7 +1,10 @@ require 'rubygems/test_case' require 'ostruct' require 'webrick' -require 'webrick/https' +begin + require 'webrick/https' +rescue LoadError +end require 'rubygems/remote_fetcher' require 'rubygems/format' @@ -749,7 +752,7 @@ with_configured_fetcher(":ssl_ca_cert: #{temp_ca_cert}") do |fetcher| fetcher.fetch_path("https://localhost:#{ssl_server.config[:Port]}/yaml") end - end + end if defined?(OpenSSL::PKey) def test_do_not_allow_insecure_ssl_connection_by_default ssl_server = self.class.start_ssl_server @@ -758,14 +761,14 @@ fetcher.fetch_path("https://localhost:#{ssl_server.config[:Port]}/yaml") end end - end + end if defined?(OpenSSL::PKey) def test_ssl_connection_allow_verify_none ssl_server = self.class.start_ssl_server with_configured_fetcher(":ssl_verify_mode: 0") do |fetcher| fetcher.fetch_path("https://localhost:#{ssl_server.config[:Port]}/yaml") end - end + end if defined?(OpenSSL::PKey) def test_do_not_follow_insecure_redirect ssl_server = self.class.start_ssl_server @@ -775,7 +778,7 @@ fetcher.fetch_path("https://localhost:#{ssl_server.config[:Port]}/insecure_redirect?to=#{@server_uri}") end end - end + end if defined?(OpenSSL::PKey) def with_configured_fetcher(config_str = nil, &block) if config_str @@ -853,7 +856,7 @@ end DIR = File.expand_path(File.dirname(__FILE__)) - DH_PARAM = OpenSSL::PKey::DH.new(128) + DH_PARAM = defined?(OpenSSL::PKey) ? OpenSSL::PKey::DH.new(128) : nil def start_ssl_server(config = {}) null_logger = NilLog.new @@ -891,7 +894,7 @@ end end server - end + end if DH_PARAM Index: test/open-uri/test_ssl.rb =================================================================== --- test/open-uri/test_ssl.rb (revision 35439) +++ test/open-uri/test_ssl.rb (revision 35440) @@ -1,13 +1,18 @@ require 'test/unit' require 'open-uri' -require 'openssl' require 'stringio' require 'webrick' -require 'webrick/https' +begin + require 'openssl' + require 'webrick/https' +rescue LoadError +end require 'webrick/httpproxy' class TestOpenURISSL < Test::Unit::TestCase +end +class TestOpenURISSL NullLog = Object.new def NullLog.<<(arg) end @@ -100,7 +105,7 @@ } end -end +end if defined?(OpenSSL) # mkdir demoCA demoCA/private demoCA/newcerts # touch demoCA/index.txt Index: test/net/imap/test_imap.rb =================================================================== --- test/net/imap/test_imap.rb (revision 35439) +++ test/net/imap/test_imap.rb (revision 35440) @@ -45,8 +45,8 @@ assert_match(/\A24-Jul-2009 01:23 [+\-]\d{4}\z/, s) end - def test_imaps_unknown_ca - if defined?(OpenSSL) + if defined?(OpenSSL::SSL::SSLError) + def test_imaps_unknown_ca assert_raise(OpenSSL::SSL::SSLError) do imaps_test do |port| begin @@ -59,10 +59,8 @@ end end end - end - def test_imaps_with_ca_file - if defined?(OpenSSL) + def test_imaps_with_ca_file assert_nothing_raised do imaps_test do |port| begin @@ -75,10 +73,8 @@ end end end - end - def test_imaps_verify_none - if defined?(OpenSSL) + def test_imaps_verify_none assert_nothing_raised do imaps_test do |port| Net::IMAP.new(SERVER_ADDR, @@ -87,10 +83,8 @@ end end end - end - def test_imaps_post_connection_check - if defined?(OpenSSL) + def test_imaps_post_connection_check assert_raise(OpenSSL::SSL::SSLError) do imaps_test do |port| # SERVER_ADDR is different from the hostname in the certificate, @@ -103,21 +97,21 @@ end end - def test_starttls - imap = nil - if defined?(OpenSSL) + if defined?(OpenSSL::SSL) + def test_starttls + imap = nil starttls_test do |port| imap = Net::IMAP.new("localhost", :port => port) imap.starttls(:ca_file => CA_FILE) imap end + rescue SystemCallError + skip $! + ensure + if imap && !imap.disconnected? + imap.disconnect + end end - rescue SystemCallError - skip $! - ensure - if imap && !imap.disconnected? - imap.disconnect - end end def test_unexpected_eof -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/