diff options
author | Eric Wong <e@yhbt.net> | 2010-09-25 08:15:13 +0000 |
---|---|---|
committer | Eric Wong <e@yhbt.net> | 2010-09-25 08:15:13 +0000 |
commit | 0beb82437f4ab0b8422e225080b234361092315e (patch) | |
tree | b36702eb9303531553acbd53f46856057963b330 | |
parent | 460e6b025896dee64b39d194d4c1a536129654de (diff) | |
download | kgio-0beb82437f4ab0b8422e225080b234361092315e.tar.gz |
We need to test server <-> client interaction more thoroughly since some systems don't implement everything right.
-rw-r--r-- | test/lib_read_write.rb | 8 | ||||
-rw-r--r-- | test/test_tcp_client_read_server_write.rb | 13 | ||||
-rw-r--r-- | test/test_tcp_server_read_client_write.rb | 13 | ||||
-rw-r--r-- | test/test_unix_client_read_server_write.rb | 17 | ||||
-rw-r--r-- | test/test_unix_server_read_client_write.rb | 17 |
5 files changed, 65 insertions, 3 deletions
diff --git a/test/lib_read_write.rb b/test/lib_read_write.rb index 7fd24d5..c4c4457 100644 --- a/test/lib_read_write.rb +++ b/test/lib_read_write.rb @@ -21,7 +21,7 @@ module LibReadWriteTest def test_write_closed @rd.close - assert_raises(Errno::EPIPE) { @wr.kgio_write "HI" } + assert_raises(Errno::EPIPE) { loop { @wr.kgio_write "HI" } } end def test_write_conv @@ -86,7 +86,7 @@ module LibReadWriteTest foo = @rd.kgio_read(5) elapsed = Time.now - t0 end - assert elapsed >= 1.0 + assert elapsed >= 1.0, "elapsed: #{elapsed}" assert_equal "HELLO", foo thr.join assert_equal 5, thr.value @@ -113,7 +113,9 @@ module LibReadWriteTest elapsed = Time.now - t0 end assert_nil foo - assert elapsed >= 1.0 + if @wr.stat.pipe? + assert elapsed >= 1.0, "elapsed: #{elapsed}" + end assert(String === foo || foo == nil) assert_kind_of String, thr.value end diff --git a/test/test_tcp_client_read_server_write.rb b/test/test_tcp_client_read_server_write.rb new file mode 100644 index 0000000..13714e9 --- /dev/null +++ b/test/test_tcp_client_read_server_write.rb @@ -0,0 +1,13 @@ +require './test/lib_read_write' + +class TesTcpClientReadServerWrite < Test::Unit::TestCase + def setup + @host = ENV["TEST_HOST"] || '127.0.0.1' + @srv = Kgio::TCPServer.new(@host, 0) + @port = @srv.addr[1] + @wr = Kgio::TCPSocket.new(@host, @port) + @rd = @srv.kgio_accept + end + + include LibReadWriteTest +end diff --git a/test/test_tcp_server_read_client_write.rb b/test/test_tcp_server_read_client_write.rb new file mode 100644 index 0000000..68cada3 --- /dev/null +++ b/test/test_tcp_server_read_client_write.rb @@ -0,0 +1,13 @@ +require './test/lib_read_write' + +class TesTcpServerReadClientWrite < Test::Unit::TestCase + def setup + @host = ENV["TEST_HOST"] || '127.0.0.1' + @srv = Kgio::TCPServer.new(@host, 0) + @port = @srv.addr[1] + @wr = Kgio::TCPSocket.new(@host, @port) + @rd = @srv.kgio_accept + end + + include LibReadWriteTest +end diff --git a/test/test_unix_client_read_server_write.rb b/test/test_unix_client_read_server_write.rb new file mode 100644 index 0000000..cf2c5f1 --- /dev/null +++ b/test/test_unix_client_read_server_write.rb @@ -0,0 +1,17 @@ +require './test/lib_read_write' +require 'tempfile' + +class TestUnixServerReadClientWrite < Test::Unit::TestCase + def setup + tmp = Tempfile.new('kgio_unix') + @path = tmp.path + File.unlink(@path) + tmp.close rescue nil + @srv = Kgio::UNIXServer.new(@path) + @rd = Kgio::UNIXSocket.new(@path) + @wr = @srv.kgio_accept + end + + include LibReadWriteTest +end + diff --git a/test/test_unix_server_read_client_write.rb b/test/test_unix_server_read_client_write.rb new file mode 100644 index 0000000..532989e --- /dev/null +++ b/test/test_unix_server_read_client_write.rb @@ -0,0 +1,17 @@ +require './test/lib_read_write' +require 'tempfile' + +class TestUnixServerReadClientWrite < Test::Unit::TestCase + def setup + tmp = Tempfile.new('kgio_unix') + @path = tmp.path + File.unlink(@path) + tmp.close rescue nil + @srv = Kgio::UNIXServer.new(@path) + @wr = Kgio::UNIXSocket.new(@path) + @rd = @srv.kgio_accept + end + + include LibReadWriteTest +end + |