3 class TestMogileFS__Util < Test::Unit::TestCase
6 def test_mogilefs_write
9 svr = Proc.new do |serv, port|
10 client, client_addr = serv.accept
15 nr += client.readpartial(16384).length
20 wr.syswrite("#{nr}\n")
21 client.close rescue nil
23 t = TempServer.new(svr)
24 s = Socket.mogilefs_new('127.0.0.1', t.port)
25 tmp = s.getsockopt(Socket::SOL_SOCKET, Socket::SO_SNDBUF)
26 sndbuf_bytes = tmp.unpack('i')[0]
27 big_string = ' ' * (sndbuf_bytes * 10)
29 sent = s.send(big_string, 0)
30 assert(sent < big_string.length)
32 syswrite_full(s, big_string)
35 assert_equal((sent + big_string.length), rd.sysread(4096).to_i)
40 def test_write_timeout
41 svr = Proc.new do |serv, port|
42 client, client_addr = serv.accept
44 readed = client.readpartial(16384)
47 t = TempServer.new(svr)
48 s = Socket.mogilefs_new('127.0.0.1', t.port)
49 tmp = s.getsockopt(Socket::SOL_SOCKET, Socket::SO_SNDBUF)
50 sndbuf_bytes = tmp.unpack('i')[0]
51 big_string = ' ' * (sndbuf_bytes * 10)
53 assert_raises(MogileFS::Timeout) { syswrite_full(s, big_string, 0.1) }