summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cth_retry.erl4
-rw-r--r--src/rebar_prv_common_test.erl2
-rw-r--r--src/rebar_utils.erl21
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}'