test: do not add -master erl flag for peer nodes
This commit is contained in:
parent
4ecfe2be30
commit
640b0df319
|
@ -1013,8 +1013,8 @@ set_envs(Node, Env) ->
|
||||||
).
|
).
|
||||||
|
|
||||||
erl_flags() ->
|
erl_flags() ->
|
||||||
%% One core and redirecting logs to master
|
%% One core
|
||||||
["+S", "1:1", "-master", atom_to_list(node())] ++ ebin_path().
|
["+S", "1:1"] ++ ebin_path().
|
||||||
|
|
||||||
ebin_path() ->
|
ebin_path() ->
|
||||||
["-pa" | lists:filter(fun is_lib/1, code:get_path())].
|
["-pa" | lists:filter(fun is_lib/1, code:get_path())].
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
-export([start/2]).
|
-export([start/2]).
|
||||||
-export([stop/1, stop_node/1]).
|
-export([stop/1, stop_node/1]).
|
||||||
|
|
||||||
-export([start_bare_node/2]).
|
-export([start_bare_nodes/1, start_bare_nodes/2]).
|
||||||
|
|
||||||
-export([share_load_module/2]).
|
-export([share_load_module/2]).
|
||||||
-export([node_name/1, mk_nodespecs/2]).
|
-export([node_name/1, mk_nodespecs/2]).
|
||||||
|
@ -283,23 +283,31 @@ allocate_listener_ports(Types, Spec) ->
|
||||||
lists:foldl(fun maps:merge/2, #{}, [allocate_listener_port(Type, Spec) || Type <- Types]).
|
lists:foldl(fun maps:merge/2, #{}, [allocate_listener_port(Type, Spec) || Type <- Types]).
|
||||||
|
|
||||||
start_nodes_init(Specs, Timeout) ->
|
start_nodes_init(Specs, Timeout) ->
|
||||||
|
Names = lists:map(fun(#{name := Name}) -> Name end, Specs),
|
||||||
|
Nodes = start_bare_nodes(Names, Timeout),
|
||||||
|
lists:foreach(fun node_init/1, Nodes).
|
||||||
|
|
||||||
|
start_bare_nodes(Names) ->
|
||||||
|
start_bare_nodes(Names, ?TIMEOUT_NODE_START_MS).
|
||||||
|
start_bare_nodes(Names, Timeout) ->
|
||||||
Args = erl_flags(),
|
Args = erl_flags(),
|
||||||
Envs = [],
|
Envs = [],
|
||||||
Waits = lists:map(
|
Waits = lists:map(
|
||||||
fun(#{name := NodeName}) ->
|
fun(Name) ->
|
||||||
WaitTag = {boot_complete, make_ref()},
|
WaitTag = {boot_complete, Name},
|
||||||
WaitBoot = {self(), WaitTag},
|
WaitBoot = {self(), WaitTag},
|
||||||
{ok, NodeName} = emqx_cth_peer:start(NodeName, Args, Envs, WaitBoot),
|
{ok, _} = emqx_cth_peer:start(Name, Args, Envs, WaitBoot),
|
||||||
WaitTag
|
WaitTag
|
||||||
end,
|
end,
|
||||||
Specs
|
Names
|
||||||
),
|
),
|
||||||
Deadline = erlang:monotonic_time() + erlang:convert_time_unit(Timeout, millisecond, nanosecond),
|
Deadline = erlang:monotonic_time() + erlang:convert_time_unit(Timeout, millisecond, nanosecond),
|
||||||
ok = wait_boot_complete(Waits, Deadline),
|
Nodes = wait_boot_complete(Waits, Deadline),
|
||||||
lists:foreach(fun(#{name := Node}) -> node_init(Node) end, Specs).
|
lists:foreach(fun(Node) -> pong = net_adm:ping(Node) end, Nodes),
|
||||||
|
Nodes.
|
||||||
|
|
||||||
wait_boot_complete([], _) ->
|
wait_boot_complete([], _) ->
|
||||||
ok;
|
[];
|
||||||
wait_boot_complete(Waits, Deadline) ->
|
wait_boot_complete(Waits, Deadline) ->
|
||||||
case erlang:monotonic_time() > Deadline of
|
case erlang:monotonic_time() > Deadline of
|
||||||
true ->
|
true ->
|
||||||
|
@ -308,9 +316,10 @@ wait_boot_complete(Waits, Deadline) ->
|
||||||
ok
|
ok
|
||||||
end,
|
end,
|
||||||
receive
|
receive
|
||||||
{{boot_complete, _Ref} = Wait, {started, _NodeName, _Pid}} ->
|
{{boot_complete, _Name} = Wait, {started, Node, _Pid}} ->
|
||||||
wait_boot_complete(Waits -- [Wait], Deadline);
|
ct:pal("~p", [Wait]),
|
||||||
{{boot_complete, _Ref}, Otherwise} ->
|
[Node | wait_boot_complete(Waits -- [Wait], Deadline)];
|
||||||
|
{{boot_complete, _Name}, Otherwise} ->
|
||||||
error({unexpected, Otherwise})
|
error({unexpected, Otherwise})
|
||||||
after 100 ->
|
after 100 ->
|
||||||
wait_boot_complete(Waits, Deadline)
|
wait_boot_complete(Waits, Deadline)
|
||||||
|
@ -402,20 +411,9 @@ listener_port(BasePort, wss) ->
|
||||||
|
|
||||||
%%
|
%%
|
||||||
|
|
||||||
-spec start_bare_node(atom(), map()) -> node().
|
|
||||||
start_bare_node(Name, Spec) ->
|
|
||||||
Args = erl_flags(),
|
|
||||||
Envs = [],
|
|
||||||
{ok, NodeName} = emqx_cth_peer:start(Name, Args, Envs, ?TIMEOUT_NODE_START_MS),
|
|
||||||
init_bare_node(NodeName, Spec).
|
|
||||||
|
|
||||||
init_bare_node(Node, _Spec) ->
|
|
||||||
pong = net_adm:ping(Node),
|
|
||||||
Node.
|
|
||||||
|
|
||||||
erl_flags() ->
|
erl_flags() ->
|
||||||
%% One core and redirecting logs to master
|
%% One core
|
||||||
["+S", "1:1", "-master", atom_to_list(node())] ++ ebin_path().
|
["+S", "1:1"] ++ ebin_path().
|
||||||
|
|
||||||
ebin_path() ->
|
ebin_path() ->
|
||||||
["-pa" | lists:filter(fun is_lib/1, code:get_path())].
|
["-pa" | lists:filter(fun is_lib/1, code:get_path())].
|
||||||
|
|
|
@ -80,7 +80,7 @@ t_mnesia(_) ->
|
||||||
ct:sleep(200).
|
ct:sleep(200).
|
||||||
|
|
||||||
t_cleanup_membership_mnesia_down(_Config) ->
|
t_cleanup_membership_mnesia_down(_Config) ->
|
||||||
Slave = emqx_cth_cluster:node_name(?FUNCTION_NAME),
|
Slave = emqx_cth_cluster:node_name(node2),
|
||||||
emqx_router:add_route(<<"a/b/c">>, Slave),
|
emqx_router:add_route(<<"a/b/c">>, Slave),
|
||||||
emqx_router:add_route(<<"d/e/f">>, node()),
|
emqx_router:add_route(<<"d/e/f">>, node()),
|
||||||
?assertMatch([_, _], emqx_router:topics()),
|
?assertMatch([_, _], emqx_router:topics()),
|
||||||
|
@ -92,7 +92,7 @@ t_cleanup_membership_mnesia_down(_Config) ->
|
||||||
?assertEqual([<<"d/e/f">>], emqx_router:topics()).
|
?assertEqual([<<"d/e/f">>], emqx_router:topics()).
|
||||||
|
|
||||||
t_cleanup_membership_node_down(_Config) ->
|
t_cleanup_membership_node_down(_Config) ->
|
||||||
Slave = emqx_cth_cluster:node_name(?FUNCTION_NAME),
|
Slave = emqx_cth_cluster:node_name(node3),
|
||||||
emqx_router:add_route(<<"a/b/c">>, Slave),
|
emqx_router:add_route(<<"a/b/c">>, Slave),
|
||||||
emqx_router:add_route(<<"d/e/f">>, node()),
|
emqx_router:add_route(<<"d/e/f">>, node()),
|
||||||
?assertMatch([_, _], emqx_router:topics()),
|
?assertMatch([_, _], emqx_router:topics()),
|
||||||
|
@ -104,7 +104,7 @@ t_cleanup_membership_node_down(_Config) ->
|
||||||
?assertEqual([<<"d/e/f">>], emqx_router:topics()).
|
?assertEqual([<<"d/e/f">>], emqx_router:topics()).
|
||||||
|
|
||||||
t_cleanup_monitor_node_down(_Config) ->
|
t_cleanup_monitor_node_down(_Config) ->
|
||||||
Slave = emqx_cth_cluster:start_bare_node(?FUNCTION_NAME, #{driver => ct_slave}),
|
[Slave] = emqx_cth_cluster:start_bare_nodes([node4]),
|
||||||
emqx_router:add_route(<<"a/b/c">>, Slave),
|
emqx_router:add_route(<<"a/b/c">>, Slave),
|
||||||
emqx_router:add_route(<<"d/e/f">>, node()),
|
emqx_router:add_route(<<"d/e/f">>, node()),
|
||||||
?assertMatch([_, _], emqx_router:topics()),
|
?assertMatch([_, _], emqx_router:topics()),
|
||||||
|
|
Loading…
Reference in New Issue