diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/cth_retry.erl | 4 | ||||
-rw-r--r-- | src/rebar_prv_common_test.erl | 2 | ||||
-rw-r--r-- | src/rebar_utils.erl | 21 |
3 files changed, 19 insertions, 8 deletions
diff --git a/src/cth_retry.erl b/src/cth_retry.erl index 7056c71..b745c35 100644 --- a/src/cth_retry.erl +++ b/src/cth_retry.erl @@ -94,7 +94,7 @@ on_tc_skip(Suite, TC, {tc_auto_skip, _}, State=#state{suite=Suite, groups=Groups {end_per_group, _} -> Acc; init_per_suite -> Acc; end_per_suite -> Acc; - {_Group, Case} -> [{Suite, Groups, Case}|Acc]; + {Case, _Group} -> [{Suite, Groups, Case}|Acc]; TC -> [{Suite, Groups, TC}|Acc] end, State#state{suite=Suite, acc=NewAcc}; @@ -111,7 +111,7 @@ on_tc_skip(TC, {tc_auto_skip, _}, State=#state{suite=Suite, groups=Groups, acc=A {end_per_group, _} -> Acc; init_per_suite -> Acc; end_per_suite -> Acc; - {_Group, Case} -> [{Suite, Groups, Case}|Acc]; + {Case, _Group} -> [{Suite, Groups, Case}|Acc]; TC -> [{Suite, Groups, TC}|Acc] end, State#state{acc=NewAcc}; diff --git a/src/rebar_prv_common_test.erl b/src/rebar_prv_common_test.erl index c31c060..ea1477e 100644 --- a/src/rebar_prv_common_test.erl +++ b/src/rebar_prv_common_test.erl @@ -261,7 +261,7 @@ select_tests(State, ProjectApps, CmdOpts, CfgOpts) -> %% to our best ability. rebar_paths:set_paths([deps, plugins], State), [application:load(Application) || Config <- Configs, {Application, _} <- Config], - rebar_utils:reread_config(Configs), + rebar_utils:reread_config(Configs, [update_logger]), Opts = merge_opts(CmdOpts,CfgOpts), discover_tests(State, ProjectApps, Opts). diff --git a/src/rebar_utils.erl b/src/rebar_utils.erl index 5c7da92..7b267e3 100644 --- a/src/rebar_utils.erl +++ b/src/rebar_utils.erl @@ -502,15 +502,26 @@ reread_logger_config() -> Primary = #{level => LogLvlPrimary, filter_default => FilterDefault, filters => Filters}, - %% Load the correct handlers based on their individual config. - [case Id of - default -> logger:update_handler_config(Id, Cfg); - _ -> logger:add_handler(Id, Mod, Cfg) - end || {handler, Id, Mod, Cfg} <- LogCfg], + lists:foreach(fun maybe_reset_logger_handler/1, LogCfg), logger:set_primary_config(Primary), ok end. +%% @private add or update handlers based on their individual config, +%% also remove default handler if needed. +maybe_reset_logger_handler({handler, Id, Mod, Cfg}) -> + case logger:add_handler(Id, Mod, Cfg) of + {error, {already_exist, Id}} -> + logger:update_handler_config(Id, Cfg); + _ -> + ok + end; +maybe_reset_logger_handler({handler, default, undefined}) -> + _ = logger:remove_handler(default), + ok; +maybe_reset_logger_handler(_) -> + ok. + %% @doc Given env. variable `FOO' we want to expand all references to %% it in `InStr'. References can have two forms: `$FOO' and `${FOO}' |