diff --git a/apps/emqx/test/emqx_common_test_helpers.erl b/apps/emqx/test/emqx_common_test_helpers.erl index 4dd74989a..f468ad283 100644 --- a/apps/emqx/test/emqx_common_test_helpers.erl +++ b/apps/emqx/test/emqx_common_test_helpers.erl @@ -16,7 +16,6 @@ -module(emqx_common_test_helpers). --define(THIS_APP, ?MODULE). -include_lib("common_test/include/ct.hrl"). -type special_config_handler() :: fun(). @@ -169,7 +168,13 @@ start_apps(Apps, SpecAppConfig) when is_function(SpecAppConfig) -> %% Because, minirest, ekka etc.. application will scan these modules lists:foreach(fun load/1, [emqx | Apps]), %% load emqx_conf config before starting ekka - render_and_load_app_config(emqx_conf), + case application:load(emqx_conf) of + {error, _} -> + %% running test only for emqx app (standalone) + ok; + _ -> + render_and_load_app_config(emqx_conf) + end, ok = start_ekka(), ok = emqx_ratelimiter_SUITE:load_conf(), lists:foreach(fun(App) -> start_app(App, SpecAppConfig) end, [emqx | Apps]). @@ -275,43 +280,9 @@ proj_root() -> deps_path(App, RelativePath) -> app_path(App, RelativePath). app_path(App, RelativePath) -> - ok = ensure_app_loaded(App), Lib = code:lib_dir(App), safe_relative_path(filename:join([Lib, RelativePath])). -assert_app_loaded(App) -> - case code:lib_dir(App) of - {error, bad_name} -> error({not_loaded, ?THIS_APP}); - _ -> ok - end. - -ensure_app_loaded(?THIS_APP) -> - ok = assert_app_loaded(?THIS_APP); -ensure_app_loaded(App) -> - case code:lib_dir(App) of - {error, bad_name} -> - ok = assert_app_loaded(?THIS_APP), - Dir0 = code:lib_dir(?THIS_APP), - LibRoot = upper_level(Dir0), - Dir = filename:join([LibRoot, atom_to_list(App), "ebin"]), - case code:add_pathz(Dir) of - true -> ok; - {error, bad_directory} -> error({bad_directory, Dir}) - end, - case application:load(App) of - ok -> ok; - {error, Reason} -> error({failed_to_load, App, Reason}) - end, - ok = assert_app_loaded(App); - _ -> - ok - end. - -upper_level(Dir) -> - Split = filename:split(Dir), - UpperReverse = tl(lists:reverse(Split)), - filename:join(lists:reverse(UpperReverse)). - safe_relative_path(Path) -> case filename:split(Path) of ["/" | T] ->