test(conf): fix flaky config sync testcases
Before the recent changes these testcases relied on the fact that peer nodes that are part of the test cluster are started one after the other. This is now not the case in general with `emqx_cth_cluster`, so now we need to additionally find the "longest running node" in the cluster before running test logic.
This commit is contained in:
parent
68682c4231
commit
552968e5fe
|
@ -64,7 +64,8 @@ t_copy_new_data_dir(Config) ->
|
||||||
),
|
),
|
||||||
|
|
||||||
%% 1. Start all nodes
|
%% 1. Start all nodes
|
||||||
[First | Rest] = Nodes = start_cluster(Cluster),
|
Nodes = start_cluster(Cluster),
|
||||||
|
[First | Rest] = sort_highest_uptime(Nodes),
|
||||||
try
|
try
|
||||||
NodeDataDir = erpc:call(First, emqx, data_dir, []),
|
NodeDataDir = erpc:call(First, emqx, data_dir, []),
|
||||||
File = NodeDataDir ++ "/configs/cluster.hocon",
|
File = NodeDataDir ++ "/configs/cluster.hocon",
|
||||||
|
@ -88,7 +89,8 @@ t_copy_deprecated_data_dir(Config) ->
|
||||||
),
|
),
|
||||||
|
|
||||||
%% 1. Start all nodes
|
%% 1. Start all nodes
|
||||||
[First | Rest] = Nodes = start_cluster(Cluster),
|
Nodes = start_cluster(Cluster),
|
||||||
|
[First | Rest] = sort_highest_uptime(Nodes),
|
||||||
try
|
try
|
||||||
NodeDataDir = erpc:call(First, emqx, data_dir, []),
|
NodeDataDir = erpc:call(First, emqx, data_dir, []),
|
||||||
File = NodeDataDir ++ "/configs/cluster-override.conf",
|
File = NodeDataDir ++ "/configs/cluster-override.conf",
|
||||||
|
@ -246,3 +248,11 @@ cluster(TC, Specs, Config) ->
|
||||||
|
|
||||||
cluster_spec({Type, Num}) ->
|
cluster_spec({Type, Num}) ->
|
||||||
{Type, list_to_atom(atom_to_list(?MODULE) ++ integer_to_list(Num))}.
|
{Type, list_to_atom(atom_to_list(?MODULE) ++ integer_to_list(Num))}.
|
||||||
|
|
||||||
|
sort_highest_uptime(Nodes) ->
|
||||||
|
Ranking = lists:sort([{-get_node_uptime(N), N} || N <- Nodes]),
|
||||||
|
element(2, lists:unzip(Ranking)).
|
||||||
|
|
||||||
|
get_node_uptime(Node) ->
|
||||||
|
{Milliseconds, _} = erpc:call(Node, erlang, statistics, [wall_clock]),
|
||||||
|
Milliseconds.
|
||||||
|
|
Loading…
Reference in New Issue