diff options
author | Matthew Sackman <matthew@rabbitmq.com> | 2011-01-17 13:26:36 +0000 |
---|---|---|
committer | Matthew Sackman <matthew@rabbitmq.com> | 2011-01-17 13:26:36 +0000 |
commit | c80699cbfb3acbce25b7a57c9bf46b24dde7be9d (patch) | |
tree | a972d3bb5376065d614df41a4c3b075e2637e80b | |
parent | ae365531511d3b8c3b813ea9befe84f485ecbc32 (diff) | |
download | rabbitmq-server-c80699cbfb3acbce25b7a57c9bf46b24dde7be9d.tar.gz |
Added a test which will, timing dependent, hit the close_fds callback stuff. Code coverage in tests bares this out
-rw-r--r-- | src/rabbit_tests.erl | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/rabbit_tests.erl b/src/rabbit_tests.erl index d8a222d1..91920f9b 100644 --- a/src/rabbit_tests.erl +++ b/src/rabbit_tests.erl @@ -1443,6 +1443,7 @@ test_backing_queue() -> passed = test_queue_index(), passed = test_queue_index_props(), passed = test_variable_queue(), + passed = test_variable_queue_delete_msg_store_files_callback(), passed = test_queue_recover(), application:set_env(rabbit, queue_index_max_journal_entries, MaxJournal, infinity), @@ -2121,6 +2122,35 @@ test_queue_recover() -> end), passed. +test_variable_queue_delete_msg_store_files_callback() -> + ok = restart_msg_store_empty(), + {new, #amqqueue { pid = QPid, name = QName } = Q} = + rabbit_amqqueue:declare(test_queue(), true, false, [], none), + TxID = rabbit_guid:guid(), + Payload = <<0:8388608>>, %% 1MB + Count = 30, + [begin + Msg = rabbit_basic:message( + rabbit_misc:r(<<>>, exchange, <<>>), + <<>>, #'P_basic'{delivery_mode = 2}, Payload), + Delivery = #delivery{mandatory = false, immediate = false, txn = TxID, + sender = self(), message = Msg}, + true = rabbit_amqqueue:deliver(QPid, Delivery) + end || _ <- lists:seq(1, Count)], + rabbit_amqqueue:commit_all([QPid], TxID, self()), + rabbit_amqqueue:set_ram_duration_target(QPid, 0), + + CountMinusOne = Count - 1, + {ok, CountMinusOne, {QName, QPid, _AckTag, false, _Msg}} = + rabbit_amqqueue:basic_get(Q, self(), true), + {ok, CountMinusOne} = rabbit_amqqueue:purge(Q), + + %% give the queue a second to receive the close_fds callback msg + timer:sleep(1000), + + rabbit_amqqueue:delete(Q, false, false), + passed. + test_configurable_server_properties() -> %% List of the names of the built-in properties do we expect to find BuiltInPropNames = [<<"product">>, <<"version">>, <<"platform">>, |