diff options
Diffstat (limited to 'test/test_mogilefs.rb')
-rw-r--r-- | test/test_mogilefs.rb | 54 |
1 files changed, 25 insertions, 29 deletions
diff --git a/test/test_mogilefs.rb b/test/test_mogilefs.rb index a6bcf35..186e88a 100644 --- a/test/test_mogilefs.rb +++ b/test/test_mogilefs.rb @@ -6,10 +6,17 @@ require 'fileutils' class TestMogileFS__MogileFS < TestMogileFS def setup + @tmpsrv = [] @klass = MogileFS::MogileFS super end + def tmpsrv(blk) + t = TempServer.new(blk) + @tmpsrv << t + t + end + def read_headers(client) headers = "" while line = client.gets @@ -40,8 +47,8 @@ class TestMogileFS__MogileFS < TestMogileFS client.send("HTTP/1.0 200 OK\r\nContent-Length: 5\r\n\r\ndata!", 0) client.close end - t1 = TempServer.new(svr) - t2 = TempServer.new(svr) + t1 = tmpsrv(svr) + t2 = tmpsrv(svr) path1 = "http://127.0.0.1:#{t1.port}/dev1/0/000/000/0000000062.fid" path2 = "http://127.0.0.1:#{t2.port}/dev2/0/000/000/0000000062.fid" @@ -49,8 +56,6 @@ class TestMogileFS__MogileFS < TestMogileFS assert_equal 'data!', @client.get_file_data('key') assert_equal 1, accept.stat.size - ensure - TempServer.destroy_all! end def test_get_file_data_http_not_found_failover @@ -80,16 +85,14 @@ class TestMogileFS__MogileFS < TestMogileFS client.close end - t1 = TempServer.new(svr1) - t2 = TempServer.new(svr2) + t1 = tmpsrv(svr1) + t2 = tmpsrv(svr2) path1 = "http://127.0.0.1:#{t1.port}/dev1/0/000/000/0000000062.fid" path2 = "http://127.0.0.1:#{t2.port}/dev2/0/000/000/0000000062.fid" @backend.get_paths = { 'paths' => 2, 'path1' => path1, 'path2' => path2 } assert_equal 'data!', @client.get_file_data('key') assert_equal 2, accept.stat.size - ensure - TempServer.destroy_all! end def test_get_file_data_http_block @@ -117,8 +120,8 @@ class TestMogileFS__MogileFS < TestMogileFS client.close exit 0 end - t1 = TempServer.new(svr) - t2 = TempServer.new(svr) + t1 = tmpsrv(svr) + t2 = tmpsrv(svr) path1 = "http://127.0.0.1:#{t1.port}/dev1/0/000/000/0000000062.fid" path2 = "http://127.0.0.1:#{t2.port}/dev2/0/000/000/0000000062.fid" @@ -237,7 +240,7 @@ class TestMogileFS__MogileFS < TestMogileFS to_store = Tempfile.new('small') to_store.syswrite('data') - t = TempServer.new(Proc.new do |serv, accept| + t = tmpsrv(Proc.new do |serv, accept| client, _ = serv.accept while buf = client.readpartial(666) received.syswrite(buf) @@ -260,14 +263,12 @@ class TestMogileFS__MogileFS < TestMogileFS assert_equal("data", a[-1]) assert_equal("", a[-2]) assert a.grep(%r{\AContent-Length: 4\z})[0] - ensure - TempServer.destroy_all! end def test_store_content_http received = Tempfile.new('received') - t = TempServer.new(Proc.new do |serv, accept| + t = tmpsrv(Proc.new do |serv, accept| client, _ = serv.accept client.sync = true seen = "" @@ -295,8 +296,6 @@ class TestMogileFS__MogileFS < TestMogileFS assert_equal("data", a[-1]) assert_equal("", a[-2]) assert a.grep(%r{\AContent-Length: 4\z})[0] - ensure - TempServer.destroy_all! end @@ -306,7 +305,7 @@ class TestMogileFS__MogileFS < TestMogileFS 10.times do expected += "data" end - t = TempServer.new(Proc.new do |serv, accept| + t = tmpsrv(Proc.new do |serv, accept| client, _ = serv.accept client.sync = true nr = 0 @@ -343,8 +342,6 @@ class TestMogileFS__MogileFS < TestMogileFS assert_equal("data" * 10, a[-1]) assert_equal("", a[-2]) assert a.grep(%r{\AContent-Length: 40\z})[0] - ensure - TempServer.destroy_all! end def test_store_content_multi_dest_failover_path @@ -355,7 +352,7 @@ class TestMogileFS__MogileFS < TestMogileFS received1 = Tempfile.new('received') received2 = Tempfile.new('received') - t1 = TempServer.new(Proc.new do |serv, accept| + t1 = tmpsrv(Proc.new do |serv, accept| client, _ = serv.accept seen = "" while seen !~ /\r\n\r\ndata/ @@ -367,7 +364,7 @@ class TestMogileFS__MogileFS < TestMogileFS client.close end) - t2 = TempServer.new(Proc.new do |serv, accept| + t2 = tmpsrv(Proc.new do |serv, accept| client, _ = serv.accept seen = "" while seen !~ /\r\n\r\ndata/ @@ -410,12 +407,10 @@ class TestMogileFS__MogileFS < TestMogileFS assert_equal("", b[-2]) assert a.grep(%r{\AContent-Length: 4\z})[0] assert b.grep(%r{\AContent-Length: 4\z})[0] - ensure - TempServer.destroy_all! end def test_store_content_http_fail - t = TempServer.new(Proc.new do |serv, accept| + t = tmpsrv(Proc.new do |serv, accept| client, _ = serv.accept client.sync = true read_headers(client) @@ -435,7 +430,7 @@ class TestMogileFS__MogileFS < TestMogileFS def test_store_content_http_empty received = Tempfile.new('received') - t = TempServer.new(Proc.new do |serv, accept| + t = tmpsrv(Proc.new do |serv, accept| client, _ = serv.accept client.sync = true received.syswrite(client.recv(4096, 0)) @@ -487,7 +482,7 @@ class TestMogileFS__MogileFS < TestMogileFS assert_equal expect_size, to_put.stat.size readed = Tempfile.new('readed') - t = TempServer.new(Proc.new do |serv, accept| + t = tmpsrv(Proc.new do |serv, accept| client, _ = serv.accept client.sync = true nr = 0 @@ -523,9 +518,6 @@ class TestMogileFS__MogileFS < TestMogileFS assert( system(cmp_bin, expect.path, received.path) ) break end - - ensure - TempServer.destroy_all! end def test_store_content_readonly @@ -868,6 +860,10 @@ class TestMogileFS__MogileFS < TestMogileFS assert_equal({}, @client.sleep(2)) end + def teardown + @tmpsrv.each { |t| t.destroy! } + end + private # tested with 1000, though it takes a while |