From 2fc5ccf6cbf83535ee55dc98e571abe6f2ea7a3c Mon Sep 17 00:00:00 2001 From: getong <3949379+getong@users.noreply.github.com> Date: Sat, 8 Sep 2018 20:02:38 +0800 Subject: [PATCH] use the variable already exist --- src/error_logger_lager_h.erl | 6 +++-- src/lager_crash_log.erl | 2 +- src/lager_file_backend.erl | 3 ++- src/lager_util.erl | 13 ++++------ test/crash_fsm.erl | 1 + test/crash_statem.erl | 4 +-- test/lager_rotate.erl | 1 + test/lager_test_backend.erl | 12 ++++++--- test/lager_test_function_transform.erl | 2 ++ test/pr_stacktrace_test.erl | 36 ++++++++++++++++---------- 10 files changed, 49 insertions(+), 31 deletions(-) diff --git a/src/error_logger_lager_h.erl b/src/error_logger_lager_h.erl index c2c6465..dd84d9a 100644 --- a/src/error_logger_lager_h.erl +++ b/src/error_logger_lager_h.erl @@ -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. \ No newline at end of file +-endif. diff --git a/src/lager_crash_log.erl b/src/lager_crash_log.erl index b40644b..5a48238 100644 --- a/src/lager_crash_log.erl +++ b/src/lager_crash_log.erl @@ -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, diff --git a/src/lager_file_backend.erl b/src/lager_file_backend.erl index 0236bee..bdbb31a 100644 --- a/src/lager_file_backend.erl +++ b/src/lager_file_backend.erl @@ -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"], diff --git a/src/lager_util.erl b/src/lager_util.erl index 4c75c8f..bbe0299 100644 --- a/src/lager_util.erl +++ b/src/lager_util.erl @@ -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}) -> diff --git a/test/crash_fsm.erl b/test/crash_fsm.erl index dc46e7a..af2b08d 100644 --- a/test/crash_fsm.erl +++ b/test/crash_fsm.erl @@ -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]). diff --git a/test/crash_statem.erl b/test/crash_statem.erl index 7184a18..cf6bb15 100644 --- a/test/crash_statem.erl +++ b/test/crash_statem.erl @@ -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. diff --git a/test/lager_rotate.erl b/test/lager_rotate.erl index cf9376e..c84a9ff 100644 --- a/test/lager_rotate.erl +++ b/test/lager_rotate.erl @@ -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}) -> diff --git a/test/lager_test_backend.erl b/test/lager_test_backend.erl index 6aafc48..955ca53 100644 --- a/test/lager_test_backend.erl +++ b/test/lager_test_backend.erl @@ -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. diff --git a/test/lager_test_function_transform.erl b/test/lager_test_function_transform.erl index 1bae30b..cc49ad7 100644 --- a/test/lager_test_function_transform.erl +++ b/test/lager_test_function_transform.erl @@ -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}}, diff --git a/test/pr_stacktrace_test.erl b/test/pr_stacktrace_test.erl index b68a014..e8bc433 100644 --- a/test/pr_stacktrace_test.erl +++ b/test/pr_stacktrace_test.erl @@ -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)).