diff options
| -rw-r--r-- | test/rabbit_core_metrics_gc_SUITE.erl | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/test/rabbit_core_metrics_gc_SUITE.erl b/test/rabbit_core_metrics_gc_SUITE.erl index d63c9ab2fb..8d15afb95c 100644 --- a/test/rabbit_core_metrics_gc_SUITE.erl +++ b/test/rabbit_core_metrics_gc_SUITE.erl @@ -370,12 +370,13 @@ cluster_queue_metrics(Config) -> ok = rabbit_ct_broker_helpers:rpc(Config, Node0, rabbit_amqqueue, sync_mirrors, [QPid]), - timer:sleep(1500), - % Check ETS table for data - % rabbit_core_metrics:queue_stats - [] = rabbit_ct_broker_helpers:rpc(Config, Node0, ets, tab2list, - [queue_coarse_metrics]), + wait_for(fun () -> + [] =:= rabbit_ct_broker_helpers:rpc( + Config, Node0, ets, tab2list, + [queue_coarse_metrics]) + end, 60), + [{Name, 1, 0, 1, _}] = rabbit_ct_broker_helpers:rpc(Config, Node1, ets, tab2list, @@ -384,3 +385,12 @@ cluster_queue_metrics(Config) -> amqp_channel:call(Ch, #'queue.delete'{queue=QueueName}), rabbit_ct_client_helpers:close_channel(Ch), Config. + +wait_for(_Fun, 0) -> false; +wait_for(Fun, Seconds) -> + case Fun() of + true -> ok; + false -> + timer:sleep(1000), + wait_for(Fun, Seconds - 1) + end. |
