diff options
author | shugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-11-26 09:29:11 +0000 |
---|---|---|
committer | shugo <shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-11-26 09:29:11 +0000 |
commit | 89551aeaa3f03da2bad01a22a24ec49a846452d8 (patch) | |
tree | a2a0eac1f791f523816e9fa28caa717beca2b0c6 /test/net | |
parent | cc8782ccc86563b5aae5713863a72806d2a1400d (diff) | |
download | ruby-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.rb | 24 |
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 |