ruby-changes:13126
From: akr <ko1@a...>
Date: Sun, 13 Sep 2009 01:26:14 +0900 (JST)
Subject: [ruby-changes:13126] Ruby:r24876 (trunk): test read_timeout.
akr 2009-09-13 01:26:05 +0900 (Sun, 13 Sep 2009) New Revision: 24876 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=24876 Log: test read_timeout. Modified files: trunk/test/open-uri/test_open-uri.rb Index: test/open-uri/test_open-uri.rb =================================================================== --- test/open-uri/test_open-uri.rb (revision 24875) +++ test/open-uri/test_open-uri.rb (revision 24876) @@ -78,6 +78,31 @@ } end + def test_read_timeout + TCPServer.open("127.0.0.1", 0) {|serv| + port = serv.addr[1] + th = Thread.new { + sock = serv.accept + begin + req = sock.gets("\r\n\r\n") + assert_match(%r{\AGET /foo/bar }, req) + sock.print "HTTP/1.0 200 OK\r\n" + sock.print "Content-Length: 4\r\n\r\n" + sleep 1 + sock.print "ab\r\n" + ensure + sock.close + end + } + begin + assert_raise(Timeout::Error) { URI("http://127.0.0.1:#{port}/foo/bar").read(:read_timeout=>0.01) } + ensure + Thread.kill(th) + th.join + end + } + end + def test_invalid_option assert_raise(ArgumentError) { open("http://127.0.0.1/", :invalid_option=>true) {} } end -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/