From 4a388400a54db5a258fcb6dfede7b909e47b1b06 Mon Sep 17 00:00:00 2001 From: JianBo He Date: Wed, 14 Apr 2021 09:31:55 +0800 Subject: [PATCH] test(proper): ensure epmd started --- test/props/prop_emqx_rpc.erl | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/test/props/prop_emqx_rpc.erl b/test/props/prop_emqx_rpc.erl index 755d27eff..f7ee5e3d3 100644 --- a/test/props/prop_emqx_rpc.erl +++ b/test/props/prop_emqx_rpc.erl @@ -88,7 +88,7 @@ prop_nodes_with_key() -> %%-------------------------------------------------------------------- do_setup() -> - {ok, _} = net_kernel:start([?NODENAME]), + ensure_distributed_nodename(), ok = logger:set_primary_config(#{level => warning}), {ok, _Apps} = application:ensure_all_started(gen_rpc), ok = application:set_env(gen_rpc, call_receive_timeout, 1), @@ -103,6 +103,20 @@ do_teardown(_) -> ok = application:stop(gen_rpc), ok = meck:unload(gen_rpc). +ensure_distributed_nodename() -> + case net_kernel:start([?NODENAME]) of + {ok, _} -> + ok; + {error, {already_started, _}} -> + net_kernel:stop(), + net_kernel:start([?NODENAME]); + {error, {{shutdown, {_, _, {'EXIT', nodistribution}}}, _}} -> + %% start epmd first + spawn_link(fun() -> os:cmd("epmd") end), + timer:sleep(100), + net_kernel:start([?NODENAME]) + end. + %%-------------------------------------------------------------------- %% Generator %%--------------------------------------------------------------------