From 2ffa71abde74abc1fce8dbd7c7c83d23c7748c9a Mon Sep 17 00:00:00 2001 From: Zaiming Shi Date: Tue, 20 Apr 2021 21:48:28 +0200 Subject: [PATCH] test(emqx_bridge_mqtt): fix race condition --- apps/emqx_bridge_mqtt/test/emqx_bridge_stub_conn.erl | 3 ++- apps/emqx_bridge_mqtt/test/emqx_bridge_worker_SUITE.erl | 9 +++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/apps/emqx_bridge_mqtt/test/emqx_bridge_stub_conn.erl b/apps/emqx_bridge_mqtt/test/emqx_bridge_stub_conn.erl index 13c9fa704..d38663fcd 100644 --- a/apps/emqx_bridge_mqtt/test/emqx_bridge_stub_conn.erl +++ b/apps/emqx_bridge_mqtt/test/emqx_bridge_stub_conn.erl @@ -27,7 +27,8 @@ -type ack_ref() :: emqx_bridge_worker:ack_ref(). -type batch() :: emqx_bridge_worker:batch(). -start(Cfg) -> +start(#{client_pid := Pid} = Cfg) -> + Pid ! {self(), ?MODULE, ready}, {ok, Cfg}. stop(_) -> ok. diff --git a/apps/emqx_bridge_mqtt/test/emqx_bridge_worker_SUITE.erl b/apps/emqx_bridge_mqtt/test/emqx_bridge_worker_SUITE.erl index 92d4c1975..4aada52a0 100644 --- a/apps/emqx_bridge_mqtt/test/emqx_bridge_worker_SUITE.erl +++ b/apps/emqx_bridge_mqtt/test/emqx_bridge_worker_SUITE.erl @@ -194,6 +194,12 @@ t_stub_normal(Config) when is_list(Config) -> client_pid => self() }, {ok, Pid} = emqx_bridge_worker:start_link(?FUNCTION_NAME, Cfg), + receive + {Pid, emqx_bridge_stub_conn, ready} -> ok + after + 5000 -> + error(timeout) + end, ClientId = <<"ClientId">>, try {ok, ConnPid} = emqtt:start_link([{clientid, ClientId}]), @@ -203,6 +209,9 @@ t_stub_normal(Config) when is_list(Config) -> {stub_message, WorkerPid, BatchRef, _Batch} -> WorkerPid ! {batch_ack, BatchRef}, ok + after + 5000 -> + error(timeout) end, ?SNK_WAIT(inflight_drained), ?SNK_WAIT(replayq_drained),