From a4d0a9266a12593e833ff3625c84f900e8c55db5 Mon Sep 17 00:00:00 2001 From: "Zaiming (Stone) Shi" Date: Thu, 28 Apr 2022 18:32:52 +0200 Subject: [PATCH] test: fix flaky test emqx_ctl_SUITE.erl --- apps/emqx/src/emqx_ctl.erl | 8 +++++++- apps/emqx/test/emqx_ctl_SUITE.erl | 9 +++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/apps/emqx/src/emqx_ctl.erl b/apps/emqx/src/emqx_ctl.erl index 448c47d74..26d93fa89 100644 --- a/apps/emqx/src/emqx_ctl.erl +++ b/apps/emqx/src/emqx_ctl.erl @@ -75,7 +75,13 @@ start_link() -> gen_server:start_link({local, ?SERVER}, ?MODULE, [], []). -spec stop() -> ok. -stop() -> gen_server:stop(?SERVER). +stop() -> + try + gen_server:stop(?SERVER) + catch + exit:R when R =:= noproc orelse R =:= timeout -> + ok + end. -spec register_command(cmd(), {module(), atom()}) -> ok. register_command(Cmd, MF) when is_atom(Cmd) -> diff --git a/apps/emqx/test/emqx_ctl_SUITE.erl b/apps/emqx/test/emqx_ctl_SUITE.erl index 605466e79..9338576e4 100644 --- a/apps/emqx/test/emqx_ctl_SUITE.erl +++ b/apps/emqx/test/emqx_ctl_SUITE.erl @@ -107,9 +107,14 @@ cmd2_fun(["arg1", "arg2"]) -> ok; cmd2_fun(["arg1", "badarg"]) -> error(badarg). with_ctl_server(Fun) -> + ok = emqx_ctl:stop(), {ok, Pid} = emqx_ctl:start_link(), - _ = Fun(Pid), - ok = emqx_ctl:stop(). + try + _ = Fun(Pid), + ok + after + ok = emqx_ctl:stop() + end. mock_print() -> %% proxy usage/1,2 and print/1,2 to format_xx/1,2 funcs