From 0c8a7e751f6f777266523bc708dd5dd2d136c75c Mon Sep 17 00:00:00 2001 From: Shawn <506895667@qq.com> Date: Fri, 29 Apr 2022 18:50:44 +0800 Subject: [PATCH] fix(test): clear emqx_cluster_rpc mnesia table at the end of the suite --- .../test/emqx_telemetry_SUITE.erl | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/apps/emqx_modules/test/emqx_telemetry_SUITE.erl b/apps/emqx_modules/test/emqx_telemetry_SUITE.erl index 233da3539..142ede620 100644 --- a/apps/emqx_modules/test/emqx_telemetry_SUITE.erl +++ b/apps/emqx_modules/test/emqx_telemetry_SUITE.erl @@ -51,6 +51,8 @@ end_per_suite(_Config) -> <<"sources">> => [] } ), + mnesia:clear_table(cluster_rpc_commit), + mnesia:clear_table(cluster_rpc_mfa), emqx_common_test_helpers:stop_apps([emqx_conf, emqx_authn, emqx_authz, emqx_modules]), meck:unload(emqx_authz), ok. @@ -676,10 +678,23 @@ setup_slave(Node) -> ok. stop_slave(Node) -> - ok = ekka:force_leave(Node), - emqx_cluster_rpc:skip_failed_commit(Node), + % This line don't work!! + %emqx_cluster_rpc:fast_forward_to_commit(Node, 100), + rpc:call(Node, ?MODULE, leave_cluster, []), ok = slave:stop(Node), - ?assertEqual([node()], mria_mnesia:running_nodes()). + ?assertEqual([node()], mria_mnesia:running_nodes()), + ?assertEqual([], nodes()), + ok. + +leave_cluster() -> + try mnesia_hook:module_info() of + _ -> ekka:leave() + catch + _:_ -> + %% We have to set the db_backend to mnesia even for `ekka:leave/0`!! + application:set_env(mria, db_backend, mnesia), + ekka:leave() + end. host() -> [_, Host] = string:tokens(atom_to_list(node()), "@"),