diff options
| author | Jean-Sébastien Pédron <jean-sebastien@rabbitmq.com> | 2017-03-06 17:26:40 +0100 |
|---|---|---|
| committer | Jean-Sébastien Pédron <jean-sebastien@rabbitmq.com> | 2017-03-06 17:26:40 +0100 |
| commit | bd4619cdd73691f7f990649996199def6880a1b7 (patch) | |
| tree | 5a0aad3901375499a898496246001bfea011858c /test | |
| parent | cc6c3038131d6f5c0912d6270de59c0b5b309c5d (diff) | |
| download | rabbitmq-server-git-bd4619cdd73691f7f990649996199def6880a1b7.tar.gz | |
unit_inbroker_SUITE: Adapt channel_statistics testcase after gc improvements
Diffstat (limited to 'test')
| -rw-r--r-- | test/unit_inbroker_SUITE.erl | 48 |
1 files changed, 34 insertions, 14 deletions
diff --git a/test/unit_inbroker_SUITE.erl b/test/unit_inbroker_SUITE.erl index 9d0b84e733..32738e1133 100644 --- a/test/unit_inbroker_SUITE.erl +++ b/test/unit_inbroker_SUITE.erl @@ -2929,34 +2929,54 @@ channel_statistics1(_Config) -> %% Check the stats reflect that Check2 = fun() -> - [{{Ch, QRes}, 1, 0, 0, 0, 0, 0}] = ets:lookup( - channel_queue_metrics, - {Ch, QRes}), - [{{Ch, X}, 1, 0, 0}] = ets:lookup( - channel_exchange_metrics, - {Ch, X}), - [{{Ch, {QRes, X}}, 1}] = ets:lookup( - channel_queue_exchange_metrics, - {Ch, {QRes, X}}) + [{{Ch, QRes}, 1, 0, 0, 0, 0, 0, 0}] = ets:lookup( + channel_queue_metrics, + {Ch, QRes}), + [{{Ch, X}, 1, 0, 0, 0}] = ets:lookup( + channel_exchange_metrics, + {Ch, X}), + [{{Ch, {QRes, X}}, 1, 0}] = ets:lookup( + channel_queue_exchange_metrics, + {Ch, {QRes, X}}) end, test_ch_metrics(Check2, ?TIMEOUT), - %% Check the stats remove stuff on queue deletion + %% Check the stats are marked for removal on queue deletion. rabbit_channel:do(Ch, #'queue.delete'{queue = QName}), Check3 = fun() -> + [{{Ch, QRes}, 1, 0, 0, 0, 0, 0, 1}] = ets:lookup( + channel_queue_metrics, + {Ch, QRes}), + [{{Ch, X}, 1, 0, 0, 0}] = ets:lookup( + channel_exchange_metrics, + {Ch, X}), + [{{Ch, {QRes, X}}, 1, 1}] = ets:lookup( + channel_queue_exchange_metrics, + {Ch, {QRes, X}}) + end, + test_ch_metrics(Check3, ?TIMEOUT), + + %% Check the garbage collection removes stuff. + force_metric_gc(), + Check4 = fun() -> [] = ets:lookup(channel_queue_metrics, {Ch, QRes}), - [{{Ch, X}, 1, 0, 0}] = ets:lookup( - channel_exchange_metrics, - {Ch, X}), + [{{Ch, X}, 1, 0, 0, 0}] = ets:lookup( + channel_exchange_metrics, + {Ch, X}), [] = ets:lookup(channel_queue_exchange_metrics, {Ch, {QRes, X}}) end, - test_ch_metrics(Check3, ?TIMEOUT), + test_ch_metrics(Check4, ?TIMEOUT), rabbit_channel:shutdown(Ch), dummy_event_receiver:stop(), passed. +force_metric_gc() -> + timer:sleep(300), + rabbit_core_metrics_gc ! start_gc, + gen_server:call(rabbit_core_metrics_gc, test). + test_ch_metrics(Fun, Timeout) when Timeout =< 0 -> Fun(); test_ch_metrics(Fun, Timeout) -> |
