about summary refs log tree commit homepage
path: root/test
diff options
context:
space:
mode:
authorevanweaver <evanweaver@19e92222-5c0b-0410-8929-a290d50e31e9>2007-10-21 02:27:56 +0000
committerevanweaver <evanweaver@19e92222-5c0b-0410-8929-a290d50e31e9>2007-10-21 02:27:56 +0000
commit0320048974fb4b81c365f9cf47ecd24384eb3f35 (patch)
tree2237d63dd14fb5f039841a81c7df7484c650cb33 /test
parent638620f70d8f9056b56fc9e8dc97da83804efcf1 (diff)
downloadunicorn-0320048974fb4b81c365f9cf47ecd24384eb3f35.tar.gz
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@709 19e92222-5c0b-0410-8929-a290d50e31e9
Diffstat (limited to 'test')
-rw-r--r--test/jruby_socket.rb39
-rw-r--r--test/test_ws.rb2
2 files changed, 37 insertions, 4 deletions
diff --git a/test/jruby_socket.rb b/test/jruby_socket.rb
index 08e792c..b06cb67 100644
--- a/test/jruby_socket.rb
+++ b/test/jruby_socket.rb
@@ -2,7 +2,38 @@
 # Minimal test to help debug JRuby socket issues
 
 require 'socket'
-socket = TCPSocket.new('127.0.0.1', '3000')
-socket.write("G")
-socket.close_write
-socket.write("E")
+
+@server = Thread.new do
+  server_socket = TCPServer.new('0.0.0.0', 10101)
+  this_client = server_socket.accept
+  4.times do |n|
+    begin
+      data = this_client.readpartial(4)
+      puts "Server got:  #{data}"
+      if n == 0
+        this_client.close
+        puts "Server closed the client"
+      end
+    rescue IOError => e
+      puts "Server has: #{e.inspect}"
+    end
+    sleep(1)
+  end
+  server_socket.close
+end
+
+sleep(3)
+client_socket = TCPSocket.new('0.0.0.0', 10101)
+4.times do |n|
+  string = "X#{n}"
+  begin
+    client_socket.write(string)
+    puts "Client said: #{string}"
+  rescue Errno::EPIPE => e
+    puts "Client has: #{e.inspect}"
+  end
+  sleep(1)
+end
+client_socket.close
+
+@server.join
diff --git a/test/test_ws.rb b/test/test_ws.rb
index 6706631..5ea5a16 100644
--- a/test/test_ws.rb
+++ b/test/test_ws.rb
@@ -48,9 +48,11 @@ class WebServerTest < Test::Unit::TestCase
     @socket = TCPSocket.new("127.0.0.1", 9998);
     request = StringIO.new(string)
     chunks_out = 0
+#    STDERR.puts chunks_out
 
     while data = request.read(chunk)
       chunks_out += @socket.write(data)
+#      STDERR.puts chunks_out
       @socket.flush
       sleep 0.2
       if close_after and chunks_out > close_after