aboutsummaryrefslogtreecommitdiffstats
path: root/test/net
diff options
context:
space:
mode:
authorshugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-11-26 09:29:11 +0000
committershugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-11-26 09:29:11 +0000
commit89551aeaa3f03da2bad01a22a24ec49a846452d8 (patch)
treea2a0eac1f791f523816e9fa28caa717beca2b0c6 /test/net
parentcc8782ccc86563b5aae5713863a72806d2a1400d (diff)
downloadruby-89551aeaa3f03da2bad01a22a24ec49a846452d8.tar.gz
net/ftp: support timeout for TLS handshake.
Net::FTP inherits ssl_socket_connect from Net::Protocol to implement timeout. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56898 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/net')
-rw-r--r--test/net/ftp/test_ftp.rb24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/net/ftp/test_ftp.rb b/test/net/ftp/test_ftp.rb
index 5028bd410f..380b80259a 100644
--- a/test/net/ftp/test_ftp.rb
+++ b/test/net/ftp/test_ftp.rb
@@ -2100,6 +2100,30 @@ EOF
ftp.close
end
end
+
+ def test_tls_connect_timeout
+ server = TCPServer.new(SERVER_ADDR, 0)
+ port = server.addr[1]
+ commands = []
+ sock = nil
+ @thread = Thread.start do
+ sock = server.accept
+ sock.print("220 (test_ftp).\r\n")
+ commands.push(sock.gets)
+ sock.print("234 AUTH success.\r\n")
+ end
+ begin
+ assert_raise(Net::OpenTimeout) do
+ Net::FTP.new("localhost",
+ port: port,
+ ssl: { ca_file: CA_FILE },
+ open_timeout: 0.1)
+ end
+ ensure
+ sock.close if sock
+ server.close
+ end
+ end
end
def test_abort_tls