瀏覽代碼

Merge pull request #344 from basho/fix_otp15_undef

Flappy test clean up for TravisCI

Reviewed-by: macintux
pull/355/head
Bishop Bors 9 年之前
父節點
當前提交
11321947bb
共有 3 個檔案被更改,包括 26 行新增8 行删除
  1. +11
    -1
      src/lager.erl
  2. +11
    -6
      test/lager_rotate.erl
  3. +4
    -1
      test/zzzz_gh280_crash.erl

+ 11
- 1
src/lager.erl 查看文件

@ -609,9 +609,19 @@ pr_stacktrace(Stacktrace, {Class, Reason}) ->
lists:flatten(
pr_stacktrace(Stacktrace) ++ "\n" ++ io_lib:format("~s:~p", [Class, Reason])).
%% R15 compatibility only
filtermap(Fun, List1) ->
lists:foldr(fun(Elem, Acc) ->
case Fun(Elem) of
false -> Acc;
{true,Value} -> [Value|Acc]
end
end, [], List1).
rotate_sink(Sink) ->
Handlers = lager_config:global_get(handlers),
RotateHandlers = lists:filtermap(
RotateHandlers = filtermap(
fun({Handler,_,S}) when S == Sink -> {true, {Handler, Sink}};
(_) -> false
end,

+ 11
- 6
test/lager_rotate.erl 查看文件

@ -46,8 +46,7 @@ rotate_test_() ->
lager:log(error, self(), "Test message 1"),
lager:log(sink_event, error, self(), "Sink test message 1", []),
lager:rotate_handler({lager_file_backend, "test1.log"}),
timer:sleep(1000),
true = filelib:is_regular("test1.log.0"),
ok = wait_until(fun() -> filelib:is_regular("test1.log.0") end, 10),
lager:log(error, self(), "Test message 2"),
lager:log(sink_event, error, self(), "Sink test message 2", []),
@ -73,8 +72,7 @@ rotate_test_() ->
lager:log(error, self(), "Test message 1"),
lager:log(sink_event, error, self(), "Sink test message 1", []),
lager:rotate_sink(sink_event),
timer:sleep(1000),
true = filelib:is_regular("test3.log.0"),
ok = wait_until(fun() -> filelib:is_regular("test3.log.0") end, 10),
lager:log(error, self(), "Test message 2"),
lager:log(sink_event, error, self(), "Sink test message 2", []),
{ok, File1} = file:read_file("test1.log"),
@ -99,8 +97,7 @@ rotate_test_() ->
lager:log(error, self(), "Test message 1"),
lager:log(sink_event, error, self(), "Sink test message 1", []),
lager:rotate_all(),
timer:sleep(1000),
true = filelib:is_regular("test3.log.0"),
ok = wait_until(fun() -> filelib:is_regular("test3.log.0") end, 10),
lager:log(error, self(), "Test message 2"),
lager:log(sink_event, error, self(), "Sink test message 2", []),
{ok, File1} = file:read_file("test1.log"),
@ -136,3 +133,11 @@ have_log(Data, Log) ->
have_no_log(Data, Log) ->
nomatch = binary:match(Data, Log).
wait_until(_Fun, 0) -> {error, too_many_retries};
wait_until(Fun, Retry) ->
case Fun() of
true -> ok;
false ->
timer:sleep(500),
wait_until(Fun, Retry-1)
end.

+ 4
- 1
test/zzzz_gh280_crash.erl 查看文件

@ -10,6 +10,9 @@
-include_lib("eunit/include/eunit.hrl").
gh280_crash_test() ->
{timeout, 30, fun() -> gh280_impl() end}.
gh280_impl() ->
application:stop(lager),
application:stop(goldrush),
@ -25,7 +28,7 @@ gh280_crash_test() ->
{Handler,Reason};
X ->
X
after 1000 ->
after 10000 ->
timeout
end,
?assert(Result),

Loading…
取消
儲存