summaryrefslogtreecommitdiff
path: root/test/net/ftp/test_ftp.rb
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
commit473d0d3211b6853deda01891b00076af074b2cb5 (patch)
treea2a0eac1f791f523816e9fa28caa717beca2b0c6 /test/net/ftp/test_ftp.rb
parent631dde2572eb78cbf09d73d23a43852ccb199bd1 (diff)
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/ftp/test_ftp.rb')
-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