Some platforms immediately returns from Socket#write

* test/net/http/test_http.rb (test_timeout_during_HTTP_session_write): on some
  platforms such as Windows immediately returns from Socket#write, and have to
  wait to read its response.  So, we can not handle Net::WriteTimeout and should
  handle Net::ReadTimeout instead.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63597 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
usa 2018-06-07 02:37:44 +00:00
parent 7cc12d6311
commit d7e8017519

View File

@ -538,12 +538,12 @@ module TestNetHTTP_version_1_1_methods
port = server.addr[1]
conn = Net::HTTP.new('localhost', port)
conn.write_timeout = 0.01
conn.read_timeout = conn.write_timeout = 0.01
conn.open_timeout = 0.1
th = Thread.new do
assert_raise(Net::WriteTimeout) {
conn.post('/', "a"*5_000_000)
assert_raise(Net::WriteTimeout, Net::ReadTimeout) {
conn.post('/', "a"*50_000_000)
}
end
assert th.join(10), bug4246