diff --git a/apps/emqx/include/asserts.hrl b/apps/emqx/include/asserts.hrl index a200394e4..2d492f825 100644 --- a/apps/emqx/include/asserts.hrl +++ b/apps/emqx/include/asserts.hrl @@ -45,6 +45,10 @@ ). -define(assertReceive(PATTERN, TIMEOUT), + ?assertReceive(PATTERN, TIMEOUT, #{}) +). + +-define(assertReceive(PATTERN, TIMEOUT, EXTRA), (fun() -> receive X__V = PATTERN -> X__V @@ -54,7 +58,8 @@ {module, ?MODULE}, {line, ?LINE}, {expression, (??PATTERN)}, - {mailbox, ?drainMailbox()} + {mailbox, ?drainMailbox()}, + {extra_info, EXTRA} ]} ) end diff --git a/apps/emqx/test/emqx_takeover_SUITE.erl b/apps/emqx/test/emqx_takeover_SUITE.erl index b9fce3b7f..3303ab9b1 100644 --- a/apps/emqx/test/emqx_takeover_SUITE.erl +++ b/apps/emqx/test/emqx_takeover_SUITE.erl @@ -1045,9 +1045,9 @@ assert_client_exit(Pid, v5, takenover) -> %% @ref: MQTT 5.0 spec [MQTT-3.1.4-3] ?assertReceive({'EXIT', Pid, {disconnected, ?RC_SESSION_TAKEN_OVER, _}}); assert_client_exit(Pid, v3, takenover) -> - ?assertReceive({'EXIT', Pid, {shutdown, tcp_closed}}); + ?assertReceive({'EXIT', Pid, {shutdown, tcp_closed}}, 1_000, #{pid => Pid}); assert_client_exit(Pid, v3, kicked) -> - ?assertReceive({'EXIT', Pid, _}); + ?assertReceive({'EXIT', Pid, _}, 1_000, #{pid => Pid}); assert_client_exit(Pid, v5, kicked) -> ?assertReceive({'EXIT', Pid, {disconnected, ?RC_ADMINISTRATIVE_ACTION, _}}); assert_client_exit(Pid, _, killed) ->