test(proper): spefic the nodename for checking
This commit is contained in:
parent
9ead5c8cfd
commit
eb8c8021f0
|
@ -19,6 +19,8 @@
|
|||
-include_lib("proper/include/proper.hrl").
|
||||
-include_lib("eunit/include/eunit.hrl").
|
||||
|
||||
-define(NODENAME, 'test@127.0.0.1').
|
||||
|
||||
-define(ALL(Vars, Types, Exprs),
|
||||
?SETUP(fun() ->
|
||||
State = do_setup(),
|
||||
|
@ -30,8 +32,9 @@
|
|||
%%--------------------------------------------------------------------
|
||||
|
||||
prop_node() ->
|
||||
?ALL(Node, nodename(),
|
||||
?ALL(Node0, nodename(),
|
||||
begin
|
||||
Node = punch(Node0),
|
||||
?assert(emqx_rpc:cast(Node, erlang, system_time, [])),
|
||||
case emqx_rpc:call(Node, erlang, system_time, []) of
|
||||
{badrpc, _Reason} -> true;
|
||||
|
@ -41,8 +44,9 @@ prop_node() ->
|
|||
end).
|
||||
|
||||
prop_node_with_key() ->
|
||||
?ALL({Node, Key}, nodename_with_key(),
|
||||
?ALL({Node0, Key}, nodename_with_key(),
|
||||
begin
|
||||
Node = punch(Node0),
|
||||
?assert(emqx_rpc:cast(Key, Node, erlang, system_time, [])),
|
||||
case emqx_rpc:call(Key, Node, erlang, system_time, []) of
|
||||
{badrpc, _Reason} -> true;
|
||||
|
@ -52,8 +56,9 @@ prop_node_with_key() ->
|
|||
end).
|
||||
|
||||
prop_nodes() ->
|
||||
?ALL(Nodes, nodesname(),
|
||||
?ALL(Nodes0, nodesname(),
|
||||
begin
|
||||
Nodes = punch(Nodes0),
|
||||
case emqx_rpc:multicall(Nodes, erlang, system_time, []) of
|
||||
{badrpc, _Reason} -> true;
|
||||
{RealResults, RealBadNodes}
|
||||
|
@ -65,8 +70,9 @@ prop_nodes() ->
|
|||
end).
|
||||
|
||||
prop_nodes_with_key() ->
|
||||
?ALL({Nodes, Key}, nodesname_with_key(),
|
||||
?ALL({Nodes0, Key}, nodesname_with_key(),
|
||||
begin
|
||||
Nodes = punch(Nodes0),
|
||||
case emqx_rpc:multicall(Key, Nodes, erlang, system_time, []) of
|
||||
{badrpc, _Reason} -> true;
|
||||
{RealResults, RealBadNodes}
|
||||
|
@ -82,9 +88,10 @@ prop_nodes_with_key() ->
|
|||
%%--------------------------------------------------------------------
|
||||
|
||||
do_setup() ->
|
||||
{ok, _} = net_kernel:start([?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),
|
||||
ok = emqx_logger:set_log_level(emergency),
|
||||
ok = meck:new(gen_rpc, [passthrough, no_history]),
|
||||
ok = meck:expect(gen_rpc, multicall,
|
||||
fun(Nodes, Mod, Fun, Args) ->
|
||||
|
@ -92,7 +99,7 @@ do_setup() ->
|
|||
end).
|
||||
|
||||
do_teardown(_) ->
|
||||
ok = emqx_logger:set_log_level(debug),
|
||||
ok = net_kernel:stop(),
|
||||
ok = application:stop(gen_rpc),
|
||||
ok = meck:unload(gen_rpc).
|
||||
|
||||
|
@ -100,6 +107,7 @@ do_teardown(_) ->
|
|||
%% Generator
|
||||
%%--------------------------------------------------------------------
|
||||
|
||||
|
||||
nodename() ->
|
||||
?LET({NodePrefix, HostName},
|
||||
{node_prefix(), hostname()},
|
||||
|
@ -130,3 +138,17 @@ text_like() ->
|
|||
|
||||
hostname() ->
|
||||
oneof(["127.0.0.1", "localhost"]).
|
||||
|
||||
%%--------------------------------------------------------------------
|
||||
%% Utils
|
||||
%%--------------------------------------------------------------------
|
||||
|
||||
%% After running the props, the `node()` () is only able to return an
|
||||
%% incorrect node name - `nonode@nohost`, But we want a distributed nodename
|
||||
%% So, just translate the `nonode@nohost` to ?NODENAME
|
||||
punch(Nodes) when is_list(Nodes) ->
|
||||
lists:map(fun punch/1, Nodes);
|
||||
punch('nonode@nohost') ->
|
||||
node(); %% Equal to ?NODENAME
|
||||
punch(GoodBoy) ->
|
||||
GoodBoy.
|
||||
|
|
Loading…
Reference in New Issue