From c073914f7570982abcaea7e427058dc4003d431f Mon Sep 17 00:00:00 2001 From: Ilya Averyanov Date: Fri, 17 Feb 2023 13:56:22 +0300 Subject: [PATCH] chore(ft): fix gen_rpc flakyness --- apps/emqx/test/emqx_common_test_helpers.erl | 18 +----------------- apps/emqx_ft/docker-ct | 0 apps/emqx_ft/test/emqx_ft_SUITE.erl | 5 ++--- apps/emqx_ft/test/emqx_ft_api_SUITE.erl | 2 +- apps/emqx_ft/test/emqx_ft_conf_SUITE.erl | 1 + apps/emqx_ft/test/emqx_ft_storage_fs_SUITE.erl | 5 ++--- .../test/emqx_ft_storage_fs_reader_SUITE.erl | 5 ++--- apps/emqx_ft/test/emqx_ft_test_helpers.erl | 2 +- 8 files changed, 10 insertions(+), 28 deletions(-) delete mode 100644 apps/emqx_ft/docker-ct diff --git a/apps/emqx/test/emqx_common_test_helpers.erl b/apps/emqx/test/emqx_common_test_helpers.erl index 18a3d9f3e..5dd587a4e 100644 --- a/apps/emqx/test/emqx_common_test_helpers.erl +++ b/apps/emqx/test/emqx_common_test_helpers.erl @@ -63,7 +63,6 @@ ]). -export([ - set_gen_rpc_stateless/0, emqx_cluster/1, emqx_cluster/2, start_epmd/0, @@ -293,12 +292,7 @@ read_schema_configs(no_schema, _ConfigFile) -> ok; read_schema_configs(Schema, ConfigFile) -> NewConfig = generate_config(Schema, ConfigFile), - lists:foreach( - fun({App, Configs}) -> - [application:set_env(App, Par, Value) || {Par, Value} <- Configs] - end, - NewConfig - ). + application:set_env(NewConfig). generate_config(SchemaModule, ConfigFile) when is_atom(SchemaModule) -> {ok, Conf0} = hocon:load(ConfigFile, #{format => richmap}), @@ -617,16 +611,6 @@ ensure_quic_listener(Name, UdpPort, ExtraSettings) -> listener_ports => [{Type :: tcp | ssl | ws | wss, inet:port_number()}] }. --spec set_gen_rpc_stateless() -> ok. -set_gen_rpc_stateless() -> - %% When many tests run in an obscure order, it may occur that - %% `gen_rpc` started with its default settings before `emqx_conf`. - %% `gen_rpc` and `emqx_conf` have different default `port_discovery` modes, - %% so we reinitialize `gen_rpc` explicitly. - ok = application:stop(gen_rpc), - ok = application:set_env(gen_rpc, port_discovery, stateless), - ok = application:start(gen_rpc). - -spec emqx_cluster(cluster_spec()) -> [{shortname(), node_opts()}]. emqx_cluster(Specs) -> emqx_cluster(Specs, #{}). diff --git a/apps/emqx_ft/docker-ct b/apps/emqx_ft/docker-ct deleted file mode 100644 index e69de29bb..000000000 diff --git a/apps/emqx_ft/test/emqx_ft_SUITE.erl b/apps/emqx_ft/test/emqx_ft_SUITE.erl index 5b01c33cd..8708f9808 100644 --- a/apps/emqx_ft/test/emqx_ft_SUITE.erl +++ b/apps/emqx_ft/test/emqx_ft_SUITE.erl @@ -42,12 +42,11 @@ groups() -> ]. init_per_suite(Config) -> - ok = emqx_common_test_helpers:start_apps([emqx_conf, emqx_ft], set_special_configs(Config)), - ok = emqx_common_test_helpers:set_gen_rpc_stateless(), + ok = emqx_common_test_helpers:start_apps([emqx_ft], set_special_configs(Config)), Config. end_per_suite(_Config) -> - ok = emqx_common_test_helpers:stop_apps([emqx_ft, emqx_conf]), + ok = emqx_common_test_helpers:stop_apps([emqx_ft]), ok. set_special_configs(Config) -> diff --git a/apps/emqx_ft/test/emqx_ft_api_SUITE.erl b/apps/emqx_ft/test/emqx_ft_api_SUITE.erl index d38301a0f..40b5da58f 100644 --- a/apps/emqx_ft/test/emqx_ft_api_SUITE.erl +++ b/apps/emqx_ft/test/emqx_ft_api_SUITE.erl @@ -32,7 +32,7 @@ init_per_suite(Config) -> ok = emqx_mgmt_api_test_util:init_suite( [emqx_conf, emqx_ft], set_special_configs(Config) ), - ok = emqx_common_test_helpers:set_gen_rpc_stateless(), + {ok, _} = emqx:update_config([rpc, port_discovery], manual), Config. end_per_suite(_Config) -> ok = emqx_mgmt_api_test_util:end_suite([emqx_ft, emqx_conf]), diff --git a/apps/emqx_ft/test/emqx_ft_conf_SUITE.erl b/apps/emqx_ft/test/emqx_ft_conf_SUITE.erl index cca69796d..314b4a5f2 100644 --- a/apps/emqx_ft/test/emqx_ft_conf_SUITE.erl +++ b/apps/emqx_ft/test/emqx_ft_conf_SUITE.erl @@ -26,6 +26,7 @@ all() -> emqx_common_test_helpers:all(?MODULE). init_per_suite(Config) -> ok = emqx_common_test_helpers:start_apps([emqx_conf, emqx_ft]), + {ok, _} = emqx:update_config([rpc, port_discovery], manual), Config. end_per_suite(_Config) -> diff --git a/apps/emqx_ft/test/emqx_ft_storage_fs_SUITE.erl b/apps/emqx_ft/test/emqx_ft_storage_fs_SUITE.erl index d19d9c764..cc3da8bc3 100644 --- a/apps/emqx_ft/test/emqx_ft_storage_fs_SUITE.erl +++ b/apps/emqx_ft/test/emqx_ft_storage_fs_SUITE.erl @@ -39,11 +39,10 @@ groups() -> ]. init_per_suite(Config) -> - ok = emqx_common_test_helpers:start_apps([emqx_conf, emqx_ft], set_special_configs(Config)), - ok = emqx_common_test_helpers:set_gen_rpc_stateless(), + ok = emqx_common_test_helpers:start_apps([emqx_ft], set_special_configs(Config)), Config. end_per_suite(_Config) -> - ok = emqx_common_test_helpers:stop_apps([emqx_ft, emqx_conf]), + ok = emqx_common_test_helpers:stop_apps([emqx_ft]), ok. set_special_configs(Config) -> diff --git a/apps/emqx_ft/test/emqx_ft_storage_fs_reader_SUITE.erl b/apps/emqx_ft/test/emqx_ft_storage_fs_reader_SUITE.erl index db15b8660..0ac5d2844 100644 --- a/apps/emqx_ft/test/emqx_ft_storage_fs_reader_SUITE.erl +++ b/apps/emqx_ft/test/emqx_ft_storage_fs_reader_SUITE.erl @@ -25,12 +25,11 @@ all() -> emqx_common_test_helpers:all(?MODULE). init_per_suite(Config) -> - ok = emqx_common_test_helpers:start_apps([emqx_conf, emqx_ft]), - ok = emqx_common_test_helpers:set_gen_rpc_stateless(), + ok = emqx_common_test_helpers:start_apps([emqx_ft]), Config. end_per_suite(_Config) -> - ok = emqx_common_test_helpers:stop_apps([emqx_ft, emqx_conf]), + ok = emqx_common_test_helpers:stop_apps([emqx_ft]), ok. init_per_testcase(_Case, Config) -> diff --git a/apps/emqx_ft/test/emqx_ft_test_helpers.erl b/apps/emqx_ft/test/emqx_ft_test_helpers.erl index ca854bda0..f7d8bc879 100644 --- a/apps/emqx_ft/test/emqx_ft_test_helpers.erl +++ b/apps/emqx_ft/test/emqx_ft_test_helpers.erl @@ -28,7 +28,7 @@ start_additional_node(Config, Node) -> [ {apps, [emqx_ft]}, {join_to, SelfNode}, - {configure_gen_rpc, false}, + {configure_gen_rpc, true}, {env_handler, fun (emqx_ft) -> ok = emqx_config:put([file_transfer, storage], #{