Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Don't use code:load it breaks coverage

  • Loading branch information...
commit e87cf8e14e9903f576e543ab53a1fe28231a2f30 1 parent 0009753
@Vagabond Vagabond authored
Showing with 9 additions and 6 deletions.
  1. +9 −6 src/lager_app.erl
View
15 src/lager_app.erl
@@ -95,12 +95,15 @@ expand_handlers([{lager_file_backend, Configs}|T]) ->
[ {lager_file_backend:config_to_id(Config), Config} || Config <- Configs] ++
expand_handlers(T);
expand_handlers([{Mod, Config}|T]) when is_atom(Mod) ->
- %% allow the backend to generate a gen_event handler id, if it wants to
- _ = code:load_file(Mod),
- Res = case erlang:function_exported(Mod, config_to_id, 1) of
- true ->
- {Mod:config_to_id(Config), Config};
- false ->
+ %% Allow the backend to generate a gen_event handler id, if it wants to.
+ %% We don't use erlang:function_exported here because that requires the module
+ %% already be loaded, which is unlikely at this phase of startup. Using code:load
+ %% caused undesireable side-effects with generating code-coverage reports.
+ Res = try Mod:config_to_id(Config) of
+ Id ->
+ {Id, Config}
+ catch
+ _:_ ->
{Mod, Config}
end,
[Res | expand_handlers(T)];
Please sign in to comment.
Something went wrong with that request. Please try again.