Selaa lähdekoodia

Merge branch 'getong-variable_fix'

pull/479/head
Mark Allen 6 vuotta sitten
vanhempi
commit
17202185c9
10 muutettua tiedostoa jossa 49 lisäystä ja 31 poistoa
  1. +4
    -2
      src/error_logger_lager_h.erl
  2. +1
    -1
      src/lager_crash_log.erl
  3. +2
    -1
      src/lager_file_backend.erl
  4. +5
    -8
      src/lager_util.erl
  5. +1
    -0
      test/crash_fsm.erl
  6. +2
    -2
      test/crash_statem.erl
  7. +1
    -0
      test/lager_rotate.erl
  8. +9
    -3
      test/lager_test_backend.erl
  9. +2
    -0
      test/lager_test_function_transform.erl
  10. +22
    -14
      test/pr_stacktrace_test.erl

+ 4
- 2
src/error_logger_lager_h.erl Näytä tiedosto

@ -134,7 +134,7 @@ handle_info({shaper_expired, ?MODULE}, #state{sink=Sink, shaper=Shaper} = State)
"lager_error_logger_h dropped ~p messages in the last second that exceeded the limit of ~p messages/sec",
[Dropped, Shaper#lager_shaper.hwm])
end,
{ok, State#state{shaper=Shaper#lager_shaper{dropped=0, mps=1, lasttime=os:timestamp()}}};
{ok, State#state{shaper=Shaper#lager_shaper{dropped=0, mps=0, lasttime=os:timestamp()}}};
handle_info(_Info, State) ->
{ok, State}.
@ -613,6 +613,8 @@ no_silent_hwm_drops_test_() ->
application:set_env(lager, error_logger_redirect, true),
application:set_env(lager, error_logger_hwm, 5),
application:set_env(lager, error_logger_flush_queue, false),
application:set_env(lager, suppress_supervisor_start_stop, true),
application:set_env(lager, suppress_application_start_stop, true),
application:unset_env(lager, crash_log),
lager:start(),
try
@ -632,4 +634,4 @@ no_silent_hwm_drops_test_() ->
]
}.
-endif.
-endif.

+ 1
- 1
src/lager_crash_log.erl Näytä tiedosto

@ -251,7 +251,7 @@ filesystem_test_() ->
application:set_env(lager, error_logger_redirect, true),
application:unset_env(lager, crash_log),
lager:start(),
timer:sleep(100),
timer:sleep(1000),
lager_test_backend:flush(),
CrashLog
end,

+ 2
- 1
src/lager_file_backend.erl Näytä tiedosto

@ -206,7 +206,7 @@ handle_info({shaper_expired, Name}, #state{shaper=Shaper, name=Name, formatter=F
write(State, lager_msg:timestamp(ReportMsg),
lager_msg:severity_as_int(ReportMsg), Formatter:format(ReportMsg, FormatConfig))
end,
{ok, State#state{shaper=Shaper#lager_shaper{dropped=0, mps=1, lasttime=os:timestamp()}}};
{ok, State#state{shaper=Shaper#lager_shaper{dropped=0, mps=0, lasttime=os:timestamp()}}};
handle_info(_Info, State) ->
{ok, State}.
@ -884,6 +884,7 @@ filesystem_test_() ->
gen_event:add_handler(lager_event, lager_file_backend,
[{file, TestLog}, {level, critical}, {check_interval, always}]),
timer:sleep(500),
lager:critical("Test message"),
{ok, Bin1} = file:read_file(TestLog),
?assertMatch([_, _, "[critical]", _, "Test message\n"],

+ 5
- 8
src/lager_util.erl Näytä tiedosto

@ -268,9 +268,8 @@ calculate_next_rotation([{day, Day}|T], {Date, _Time} = Now) ->
end,
case AdjustedDay of
DoW -> %% rotation is today
OldDate = element(1, Now),
case calculate_next_rotation(T, Now) of
{OldDate, _} = NewNow -> NewNow;
{Date, _} = NewNow -> NewNow;
{NewDate, _} ->
%% rotation *isn't* today! rerun the calculation
NewNow = {NewDate, {0, 0, 0}},
@ -293,9 +292,8 @@ calculate_next_rotation([{date, last}|T], {{Year, Month, Day}, _} = Now) ->
Last = calendar:last_day_of_the_month(Year, Month),
case Last == Day of
true -> %% doing rotation today
OldDate = element(1, Now),
case calculate_next_rotation(T, Now) of
{OldDate, _} = NewNow -> NewNow;
{{Year, Month, Day}, _} = NewNow -> NewNow;
{NewDate, _} ->
%% rotation *isn't* today! rerun the calculation
NewNow = {NewDate, {0, 0, 0}},
@ -305,11 +303,10 @@ calculate_next_rotation([{date, last}|T], {{Year, Month, Day}, _} = Now) ->
NewNow = setelement(1, Now, {Year, Month, Last}),
calculate_next_rotation(T, NewNow)
end;
calculate_next_rotation([{date, Date}|T], {{_, _, Date}, _} = Now) ->
calculate_next_rotation([{date, Date}|T], {{Year, Month, Date}, _} = Now) ->
%% rotation is today
OldDate = element(1, Now),
case calculate_next_rotation(T, Now) of
{OldDate, _} = NewNow -> NewNow;
{{Year, Month, Date}, _} = NewNow -> NewNow;
{NewDate, _} ->
%% rotation *isn't* today! rerun the calculation
NewNow = setelement(1, Now, NewDate),
@ -529,7 +526,7 @@ check_hwm(Shaper = #lager_shaper{lasttime = Last, dropped = Drop}) ->
_ ->
erlang:cancel_timer(Shaper#lager_shaper.timer),
%% different second, reset all counters and allow it
{true, Drop, Shaper#lager_shaper{dropped = 0, mps=1, lasttime = Now}}
{true, Drop, Shaper#lager_shaper{dropped = 0, mps=0, lasttime = Now}}
end.
should_flush(#lager_shaper{flush_queue = true, flush_threshold = 0}) ->

+ 1
- 0
test/crash_fsm.erl Näytä tiedosto

@ -1,5 +1,6 @@
-module(crash_fsm).
-behaviour(gen_fsm).
-compile([{nowarn_deprecated_function, [{gen_fsm, start, 4}, {gen_fsm, sync_send_event, 2}]}]).
-export([start/0, crash/0, state1/2]).

+ 2
- 2
test/crash_statem.erl Näytä tiedosto

@ -41,9 +41,9 @@ callback_mode() -> handle_event_function.
handle_event(state_timeout, timeout, state1, _) ->
{stop, timeout};
handle_event({call, _From}, timeout, _Arg, Data) ->
handle_event({call, _From}, timeout, _Arg, _Data) ->
{keep_state_and_data, [{state_timeout, 0, timeout}]};
handle_event({call, _From}, {stop, Reason}, state1, Data) ->
handle_event({call, _From}, {stop, Reason}, state1, _Data) ->
{stop, Reason}.
-else.

+ 1
- 0
test/lager_rotate.erl Näytä tiedosto

@ -69,6 +69,7 @@ rotate_test_() ->
application:set_env(lager, error_logger_redirect, false),
application:set_env(lager, async_threshold, undefined),
lager:start(),
timer:sleep(1000),
State
end,
fun(#state{dir = Dir}) ->

+ 9
- 3
test/lager_test_backend.erl Näytä tiedosto

@ -871,7 +871,9 @@ setup() ->
%% This race condition was first exposed during the work on
%% 4b5260c4524688b545cc12da6baa2dfa4f2afec9 which introduced the lager
%% manager killer PR.
timer:sleep(5),
application:set_env(lager, suppress_supervisor_start_stop, true),
application:set_env(lager, suppress_application_start_stop, true),
timer:sleep(1000),
gen_event:call(lager_event, ?MODULE, flush).
cleanup(_) ->
@ -1113,9 +1115,11 @@ error_logger_redirect_setup() ->
application:load(lager),
application:set_env(lager, error_logger_redirect, true),
application:set_env(lager, handlers, [{?MODULE, info}]),
application:set_env(lager, suppress_supervisor_start_stop, false),
application:set_env(lager, suppress_application_start_stop, false),
lager:start(),
lager:log(error, self(), "flush flush"),
timer:sleep(100),
timer:sleep(1000),
gen_event:call(lager_event, ?MODULE, flush),
lager_event.
@ -1127,9 +1131,11 @@ error_logger_redirect_setup_sink() ->
application:set_env(lager, extra_sinks, [
{error_logger_lager_event, [
{handlers, [{?MODULE, info}]}]}]),
application:set_env(lager, suppress_supervisor_start_stop, false),
application:set_env(lager, suppress_application_start_stop, false),
lager:start(),
lager:log(error_logger_lager_event, error, self(), "flush flush", []),
timer:sleep(100),
timer:sleep(1000),
gen_event:call(error_logger_lager_event, ?MODULE, flush),
error_logger_lager_event.

+ 2
- 0
test/lager_test_function_transform.erl Näytä tiedosto

@ -22,6 +22,8 @@
-include("lager.hrl").
-compile([{nowarn_deprecated_function, [{erlang, now, 0}]}]).
-lager_function_transforms([
{returns_static_emit, on_emit, {lager_test_function_transform, transform_static}},
{returns_dynamic_emit, on_emit, {lager_test_function_transform, transform_dynamic}},

+ 22
- 14
test/pr_stacktrace_test.erl Näytä tiedosto

@ -2,6 +2,14 @@
-compile([{parse_transform, lager_transform}]).
-ifdef(OTP_RELEASE). %% this implies 21 or higher
-define(EXCEPTION(Class, Reason, Stacktrace), Class:Reason:Stacktrace).
-define(GET_STACK(Stacktrace), Stacktrace).
-else.
-define(EXCEPTION(Class, Reason, _), Class:Reason).
-define(GET_STACK(_), erlang:get_stacktrace()).
-endif.
-include_lib("eunit/include/eunit.hrl").
make_throw() ->
@ -17,12 +25,12 @@ pr_stacktrace_throw_test() ->
Result = try
make_throw()
catch
Class:Reason ->
lager:pr_stacktrace(erlang:get_stacktrace(), {Class, Reason})
?EXCEPTION(Class, Reason, Stacktrace) ->
lager:pr_stacktrace(?GET_STACK(Stacktrace), {Class, Reason})
end,
ExpectedPart = "
pr_stacktrace_test:pr_stacktrace_throw_test/0 line 18
pr_stacktrace_test:make_throw/0 line 8
pr_stacktrace_test:pr_stacktrace_throw_test/0 line 26
pr_stacktrace_test:make_throw/0 line 16
throw:{test,exception}",
?assertNotEqual(0, string:str(Result, ExpectedPart)).
@ -31,12 +39,12 @@ pr_stacktrace_bad_arg_test() ->
Result = try
bad_arg()
catch
Class:Reason ->
lager:pr_stacktrace(erlang:get_stacktrace(), {Class, Reason})
?EXCEPTION(Class, Reason, Stacktrace) ->
lager:pr_stacktrace(?GET_STACK(Stacktrace), {Class, Reason})
end,
ExpectedPart = "
pr_stacktrace_test:pr_stacktrace_bad_arg_test/0 line 32
pr_stacktrace_test:bad_arg/0 line 14
pr_stacktrace_test:pr_stacktrace_bad_arg_test/0 line 40
pr_stacktrace_test:bad_arg/0 line 22
error:badarg",
?assertNotEqual(0, string:str(Result, ExpectedPart)).
@ -45,11 +53,11 @@ pr_stacktrace_bad_arity_test() ->
Result = try
bad_arity()
catch
Class:Reason ->
lager:pr_stacktrace(erlang:get_stacktrace(), {Class, Reason})
?EXCEPTION(Class, Reason, Stacktrace) ->
lager:pr_stacktrace(?GET_STACK(Stacktrace), {Class, Reason})
end,
ExpectedPart = "
pr_stacktrace_test:pr_stacktrace_bad_arity_test/0 line 46
pr_stacktrace_test:pr_stacktrace_bad_arity_test/0 line 54
lists:concat([], [])
error:undef",
?assertNotEqual(0, string:str(Result, ExpectedPart)).
@ -59,11 +67,11 @@ pr_stacktrace_no_reverse_test() ->
Result = try
bad_arity()
catch
Class:Reason ->
lager:pr_stacktrace(erlang:get_stacktrace(), {Class, Reason})
?EXCEPTION(Class, Reason, Stacktrace) ->
lager:pr_stacktrace(?GET_STACK(Stacktrace), {Class, Reason})
end,
ExpectedPart = "error:undef
lists:concat([], [])
pr_stacktrace_test:pr_stacktrace_bad_arity_test/0 line 60",
pr_stacktrace_test:pr_stacktrace_bad_arity_test/0 line 68",
?assertEqual(0, string:str(Result, ExpectedPart)).

Ladataan…
Peruuta
Tallenna