about summary refs log tree commit homepage
path: root/test
diff options
context:
space:
mode:
authorevanweaver <evanweaver@19e92222-5c0b-0410-8929-a290d50e31e9>2007-10-27 00:58:48 +0000
committerevanweaver <evanweaver@19e92222-5c0b-0410-8929-a290d50e31e9>2007-10-27 00:58:48 +0000
commit304dd1ea90c24e065fc60b19a23c81926bdc5fb3 (patch)
tree360450eb5d7217060ef0a7303e47511cb0f9fc08 /test
parent3bdf6c88b5e614a2086399d355f7483a6bf4f66b (diff)
downloadunicorn-304dd1ea90c24e065fc60b19a23c81926bdc5fb3.tar.gz
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@785 19e92222-5c0b-0410-8929-a290d50e31e9
Diffstat (limited to 'test')
-rw-r--r--test/test_ws.rb6
1 files changed, 4 insertions, 2 deletions
diff --git a/test/test_ws.rb b/test/test_ws.rb
index 7aa6db5..24a807d 100644
--- a/test/test_ws.rb
+++ b/test/test_ws.rb
@@ -47,7 +47,7 @@ class WebServerTest < Test::Unit::TestCase
   end
 
 
-  def do_test(string, chunk, close_after=nil)
+  def do_test(string, chunk, close_after=nil, shutdown_delay=0)
     # Do not use instance variables here, because it needs to be thread safe
     socket = TCPSocket.new("127.0.0.1", 9998);
     request = StringIO.new(string)
@@ -62,7 +62,9 @@ class WebServerTest < Test::Unit::TestCase
         sleep 1
       end
     end
+    sleep(shutdown_delay)
     socket.write(" ") # Some platforms only raise the exception on attempted write
+    socket.flush
   end
 
   def test_trickle_attack
@@ -85,7 +87,7 @@ class WebServerTest < Test::Unit::TestCase
     redirect_test_io do
       long = "GET /test HTTP/1.1\r\n" + ("X-Big: stuff\r\n" * 15000) + "\r\n"
       assert_raises Errno::ECONNRESET, Errno::EPIPE, Errno::ECONNABORTED, Errno::EINVAL do
-        do_test(long, long.length/2)
+        do_test(long, long.length/2, 10)
       end
     end
   end