test: fix flaky test emqx_ctl_SUITE.erl

This commit is contained in:
Zaiming (Stone) Shi 2022-04-28 18:32:52 +02:00
parent 828f1b0730
commit a4d0a9266a
2 changed files with 14 additions and 3 deletions

View File

@ -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) ->

View File

@ -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