summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Sébastien Pédron <jean-sebastien@rabbitmq.com>2019-07-03 09:58:18 +0200
committerJean-Sébastien Pédron <jean-sebastien@rabbitmq.com>2019-07-03 10:01:39 +0200
commit43037ce03d38a32d144ac3abe3d114ab938e5a0f (patch)
treed247574347e5c8876bfaf4b61c8158c49ea24720
parentc93c3cc14d99398bb6c010735b6134bf3174342a (diff)
downloadrabbitmq-server-git-43037ce03d38a32d144ac3abe3d114ab938e5a0f.tar.gz
channel_source_SUITE: Wait for server channel
... in `undefined_channel_source` testcase. This testcase fails transiently and it looks like a timing issue: channel_source_SUITE > non_parallel_tests > undefined_channel_source #1. {error, {{badmatch,[]}, [{channel_source_SUITE,undefined_channel_source1,1, [{file,"test/channel_source_SUITE.erl"},{line,138}]}, {rpc,'-handle_call_call/6-fun-0-',5, [{file,"rpc.erl"},{line,197}]}]}}
-rw-r--r--test/channel_source_SUITE.erl13
1 files changed, 12 insertions, 1 deletions
diff --git a/test/channel_source_SUITE.erl b/test/channel_source_SUITE.erl
index 5211dd7510..d56e9fed0f 100644
--- a/test/channel_source_SUITE.erl
+++ b/test/channel_source_SUITE.erl
@@ -135,8 +135,19 @@ undefined_channel_source(Config) ->
undefined_channel_source1(_Config) ->
ExistingChannels = rabbit_channel:list(),
{_Writer, _Limiter, ServerCh} = rabbit_ct_broker_helpers:test_channel(),
- [ServerCh] = rabbit_channel:list() -- ExistingChannels,
+ wait_for_server_channel(ExistingChannels, ServerCh, 60),
[{source, undefined}] = rabbit_channel:info(ServerCh, [source]),
_ = rabbit_channel:source(ServerCh, ?MODULE),
[{source, ?MODULE}] = rabbit_channel:info(ServerCh, [source]),
passed.
+
+wait_for_server_channel(ExistingChannels, ServerCh, 0) ->
+ [ServerCh] = rabbit_channel:list() -- ExistingChannels;
+wait_for_server_channel(ExistingChannels, ServerCh, Attempts) ->
+ case rabbit_channel:list() -- ExistingChannels of
+ [ServerCh] ->
+ ok;
+ _ ->
+ timer:sleep(1000),
+ wait_for_server_channel(ExistingChannels, ServerCh, Attempts - 1)
+ end.