diff options
author | Eric Wong <normalperson@yhbt.net> | 2012-10-31 19:38:09 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2012-10-31 19:47:37 +0000 |
commit | a8bc9cd0fce3169eccc67b191fdb40abfae59547 (patch) | |
tree | 53ba22b5d2dddc5bfe328e297badadfa49e985e5 /test/test_mogilefs.rb | |
parent | 3e0b092efc2c5a5383a5d2063b830fe5d5e652f9 (diff) | |
download | mogilefs-client-a8bc9cd0fce3169eccc67b191fdb40abfae59547.tar.gz |
We now have separate Net::HTTP::Persistent instances between clients that may have different timeouts and also between GET and PUT requests. This hurts our ability to reuse sockets, but correctness is probably more important.
Diffstat (limited to 'test/test_mogilefs.rb')
-rw-r--r-- | test/test_mogilefs.rb | 38 |
1 files changed, 25 insertions, 13 deletions
diff --git a/test/test_mogilefs.rb b/test/test_mogilefs.rb index dbaddf3..a6bcf35 100644 --- a/test/test_mogilefs.rb +++ b/test/test_mogilefs.rb @@ -10,6 +10,14 @@ class TestMogileFS__MogileFS < TestMogileFS super end + def read_headers(client) + headers = "" + while line = client.gets + headers << line + return headers if line == "\r\n" + end + end + def test_initialize assert_equal 'test', @client.domain @@ -24,9 +32,10 @@ class TestMogileFS__MogileFS < TestMogileFS svr = Proc.new do |serv, port| client, _ = serv.accept client.sync = true - readed = client.recv(4096, 0) - assert(readed =~ \ - %r{\AGET /dev[12]/0/000/000/0000000062\.fid HTTP/1.[01]\r\n\r\n\Z}) + readed = read_headers(client) + assert_match( + %r{\AGET /dev[12]/0/000/000/0000000062\.fid HTTP/1.[01]\r\n}, + readed) accept.syswrite('.') client.send("HTTP/1.0 200 OK\r\nContent-Length: 5\r\n\r\ndata!", 0) client.close @@ -50,9 +59,10 @@ class TestMogileFS__MogileFS < TestMogileFS svr1 = Proc.new do |serv, port| client, _ = serv.accept client.sync = true - readed = client.recv(4096, 0) - assert(readed =~ \ - %r{\AGET /dev1/0/000/000/0000000062\.fid HTTP/1.[01]\r\n\r\n\Z}) + readed = read_headers(client) + assert_match( + %r{\AGET /dev1/0/000/000/0000000062\.fid HTTP/1.[01]\r\n}, + readed) accept.syswrite('.') client.send("HTTP/1.0 404 Not Found\r\n\r\ndata!", 0) client.close @@ -61,9 +71,10 @@ class TestMogileFS__MogileFS < TestMogileFS svr2 = Proc.new do |serv, port| client, _ = serv.accept client.sync = true - readed = client.recv(4096, 0) - assert(readed =~ \ - %r{\AGET /dev2/0/000/000/0000000062\.fid HTTP/1.[01]\r\n\r\n\Z}) + readed = read_headers(client) + assert_match( + %r{\AGET /dev2/0/000/000/0000000062\.fid HTTP/1.[01].*\r\n}, + readed) accept.syswrite('.') client.send("HTTP/1.0 200 OK\r\nContent-Length: 5\r\n\r\ndata!", 0) client.close @@ -98,9 +109,10 @@ class TestMogileFS__MogileFS < TestMogileFS client, _ = serv.accept client.sync = true accept.syswrite('.') - readed = client.recv(4096, 0) - assert(readed =~ \ - %r{\AGET /dev[12]/0/000/000/0000000062\.fid HTTP/1.[01]\r\n\r\n\Z}) + readed = read_headers(client) + assert_match( + %r{\AGET /dev[12]/0/000/000/0000000062\.fid HTTP/1.[01]\r\n}, + readed) MogileFS.io.copy_stream(tmpfp, client) client.close exit 0 @@ -406,7 +418,7 @@ class TestMogileFS__MogileFS < TestMogileFS t = TempServer.new(Proc.new do |serv, accept| client, _ = serv.accept client.sync = true - client.recv(4096, 0) + read_headers(client) client.send("HTTP/1.0 500 Internal Server Error\r\n\r\n", 0) client.close end) |