[前][次][番号順一覧][スレッド一覧]

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/

[前][次][番号順一覧][スレッド一覧]