6 @host = ENV["TEST_HOST"] || '127.0.0.1'
7 @srv = TCPServer.new(@host, 0)
12 sock = MogileFS::Socket.start(@host, @port)
13 assert_instance_of MogileFS::Socket, sock, sock.inspect
15 sock.write_nonblock("a")
18 thr = Thread.new { @srv.accept }
20 assert_instance_of TCPSocket, accepted, accepted.inspect
25 sock = MogileFS::Socket.tcp(@host, @port)
26 assert_instance_of MogileFS::Socket, sock, sock.inspect
27 sock.write_nonblock("a")
28 thr = Thread.new { @srv.accept }
30 assert_instance_of TCPSocket, accepted, accepted.inspect
31 assert_equal "a", accepted.read(1)
36 sock = MogileFS::Socket.tcp(@host, @port)
37 accepted = @srv.accept
39 assert_raises(MogileFS::UnreadableSocketError) do
40 sock.timed_peek(2, buf, 0.01)
43 assert_equal "HI", sock.timed_peek(2, buf, 0.1)
44 assert_equal "HI", buf
45 assert_equal "HI", sock.timed_peek(2, buf)
46 assert_equal "HI", sock.timed_read(2, buf)
48 assert_nil sock.timed_peek(2, buf)
52 sock = MogileFS::Socket.tcp(@host, @port)
53 accepted = @srv.accept
55 assert_raises(MogileFS::UnreadableSocketError) do
56 sock.timed_read(2, buf, 0.01)
59 assert_equal "HI", sock.timed_read(2, buf, 0.1)
60 assert_equal "HI", buf
61 assert_raises(MogileFS::UnreadableSocketError) do
62 sock.timed_read(2, buf, 0.01)
65 assert_nil sock.timed_read(2, buf)
69 sock = MogileFS::Socket.tcp(@host, @port)
70 accepted = @srv.accept
73 assert_raises(MogileFS::RequestTruncatedError) do
75 assert_equal buf.bytesize, sock.timed_write(buf, 0.01)
79 tmp = accepted.read(written)
80 assert_equal written, tmp.size
84 sock = MogileFS::Socket.tcp(@host, @port)
85 accepted = @srv.accept
86 assert_raises(MogileFS::UnreadableSocketError) { sock.timed_gets(0.01) }
88 assert_raises(MogileFS::UnreadableSocketError) { sock.timed_gets(0.01) }
90 assert_equal "HI\n", sock.timed_gets
92 assert_nil sock.timed_gets
96 sock = MogileFS::Socket.tcp(@host, @port)
97 accepted = @srv.accept
99 accepted.write "HELLO"
103 accepted.write "WORLD!!!"
105 buf = sock.read("HELLO WORLD!!!".bytesize)
106 assert_equal "HELLO WORLD!!!", buf