diff options
author | gotoyuzo <gotoyuzo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-11-17 08:04:19 +0000 |
---|---|---|
committer | gotoyuzo <gotoyuzo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-11-17 08:04:19 +0000 |
commit | 3691ea5cf42b333a8607df1d2f6d9e22d747d5a1 (patch) | |
tree | db2155a4df5af607c65554f1928ad1a825e7713f /test/openssl/test_ssl.rb | |
parent | 9c1e33fc452bfc545eac51a8579d4f3a7f7872b8 (diff) | |
download | ruby-3691ea5cf42b333a8607df1d2f6d9e22d747d5a1.tar.gz |
* test/openssl/ssl_server.rb: try to listen ports from 20443 to 20542
while failed in getting a TCPServer.
* test/openssl/test_x509name.rb: remove version dependence about
nickname of OIDs.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7298 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/openssl/test_ssl.rb')
-rw-r--r-- | test/openssl/test_ssl.rb | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/test/openssl/test_ssl.rb b/test/openssl/test_ssl.rb index dbc8f13902..c7bf15d82a 100644 --- a/test/openssl/test_ssl.rb +++ b/test/openssl/test_ssl.rb @@ -58,20 +58,24 @@ class OpenSSL::TestSSL < Test::Unit::TestCase OpenSSL::TestUtils.issue_crl(*arg) end - def start_server(port, verify_mode, start_immediately, &block) + def start_server(port0, verify_mode, start_immediately, &block) server = nil begin cmd = [RUBY] cmd << "-d" if $DEBUG - cmd << SSL_SERVER << port.to_s << verify_mode.to_s + cmd << SSL_SERVER << port0.to_s << verify_mode.to_s cmd << (start_immediately ? "yes" : "no") server = IO.popen(cmd, "w+") server.write(@ca_cert.to_pem) server.write(@svr_cert.to_pem) server.write(@svr_key.to_pem) pid = Integer(server.gets) - $stderr.printf("%s started: pid=%d\n", SSL_SERVER, pid) if $DEBUG - block.call(server) + if port = server.gets + if $DEBUG + $stderr.printf("%s started: pid=%d port=%d\n", SSL_SERVER, pid, port) + end + block.call(server, port.to_i) + end ensure if server Process.kill(:KILL, pid) @@ -90,15 +94,15 @@ class OpenSSL::TestSSL < Test::Unit::TestCase end def test_connect_and_close - start_server(PORT, OpenSSL::SSL::VERIFY_NONE, true){ - sock = TCPSocket.new("127.0.0.1", PORT) + start_server(PORT, OpenSSL::SSL::VERIFY_NONE, true){|s, p| + sock = TCPSocket.new("127.0.0.1", p) ssl = OpenSSL::SSL::SSLSocket.new(sock) assert(ssl.connect) ssl.close assert(!sock.closed?) sock.close - sock = TCPSocket.new("127.0.0.1", PORT) + sock = TCPSocket.new("127.0.0.1", p) ssl = OpenSSL::SSL::SSLSocket.new(sock) ssl.sync_close = true # !! assert(ssl.connect) @@ -108,8 +112,8 @@ class OpenSSL::TestSSL < Test::Unit::TestCase end def test_read_and_write - start_server(PORT, OpenSSL::SSL::VERIFY_NONE, true){ - sock = TCPSocket.new("127.0.0.1", PORT) + start_server(PORT, OpenSSL::SSL::VERIFY_NONE, true){|s, p| + sock = TCPSocket.new("127.0.0.1", p) ssl = OpenSSL::SSL::SSLSocket.new(sock) ssl.sync_close = true ssl.connect @@ -152,8 +156,8 @@ class OpenSSL::TestSSL < Test::Unit::TestCase end def test_starttls - start_server(PORT, OpenSSL::SSL::VERIFY_NONE, false){|s| - sock = TCPSocket.new("127.0.0.1", PORT) + start_server(PORT, OpenSSL::SSL::VERIFY_NONE, false){|s, p| + sock = TCPSocket.new("127.0.0.1", p) ssl = OpenSSL::SSL::SSLSocket.new(sock) ssl.sync_close = true str = "x" * 1000 + "\n" @@ -175,10 +179,10 @@ class OpenSSL::TestSSL < Test::Unit::TestCase end def test_parallel - start_server(PORT, OpenSSL::SSL::VERIFY_NONE, true){ + start_server(PORT, OpenSSL::SSL::VERIFY_NONE, true){|s, p| ssls = [] 10.times{ - sock = TCPSocket.new("127.0.0.1", PORT) + sock = TCPSocket.new("127.0.0.1", p) ssl = OpenSSL::SSL::SSLSocket.new(sock) ssl.connect ssl.sync_close = true |