summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@rabbitmq.com>2010-08-22 17:07:14 +0100
committerMatthew Sackman <matthew@rabbitmq.com>2010-08-22 17:07:14 +0100
commit3a27406558f9a21f85fc3b20e9bbb0c9a97b3e39 (patch)
tree00286cc0a7a56f1dcb7a251c58c54fd37769d330
parent7be2ad6fb09f600414bb0651410eaf9fad7ea7f8 (diff)
downloadrabbitmq-server-3a27406558f9a21f85fc3b20e9bbb0c9a97b3e39.tar.gz
Modify test so that the -1 => -2 change to OBTAIN_LIMIT does not result in the test having sufficient fds available such that the copy could be satisfied without closing
-rw-r--r--src/rabbit_tests.erl17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/rabbit_tests.erl b/src/rabbit_tests.erl
index bffc6729..082e7877 100644
--- a/src/rabbit_tests.erl
+++ b/src/rabbit_tests.erl
@@ -1420,11 +1420,17 @@ test_supervisor_delayed_restart() ->
test_file_handle_cache() ->
%% test copying when there is just one spare handle
Limit = file_handle_cache:get_limit(),
- ok = file_handle_cache:set_limit(4), %% 2 reserved, 1 in use, 1 spare
- TmpDir = rabbit_mnesia:dir() ++ "/tmp/",
- ok = filelib:ensure_dir(TmpDir),
- Src = TmpDir ++ "file1",
- Dst = TmpDir ++ "file2",
+ ok = file_handle_cache:set_limit(5), %% 1 or 2 sockets, 2 msg_stores
+ TmpDir = filename:join(rabbit_mnesia:dir(), "tmp"),
+ ok = filelib:ensure_dir(filename:join(TmpDir, "nothing")),
+ Pid = spawn(fun () -> {ok, Hdl} = file_handle_cache:open(
+ filename:join(TmpDir, "file3"),
+ [write], []),
+ receive close -> ok end,
+ file_handle_cache:delete(Hdl)
+ end),
+ Src = filename:join(TmpDir, "file1"),
+ Dst = filename:join(TmpDir, "file2"),
Content = <<"foo">>,
ok = file:write_file(Src, Content),
{ok, SrcHdl} = file_handle_cache:open(Src, [read], []),
@@ -1433,6 +1439,7 @@ test_file_handle_cache() ->
{ok, Size} = file_handle_cache:copy(SrcHdl, DstHdl, Size),
ok = file_handle_cache:delete(SrcHdl),
file_handle_cache:delete(DstHdl),
+ Pid ! close,
ok = file_handle_cache:set_limit(Limit),
passed.