瀏覽代碼

Move test util functions into TEST section of lager_util

pull/509/head
Luke Bakken 5 年之前
父節點
當前提交
8b94200328
沒有發現已知的金鑰在資料庫的簽署中 GPG Key ID: D99DE30E43EAE440
共有 5 個文件被更改,包括 41 次插入71 次删除
  1. +4
    -4
      src/lager_crash_log.erl
  2. +9
    -9
      src/lager_file_backend.erl
  3. +2
    -2
      src/lager_rotator_default.erl
  4. +26
    -4
      src/lager_util.erl
  5. +0
    -52
      test/lager_test_util.erl

+ 4
- 4
src/lager_crash_log.erl 查看文件

@ -245,9 +245,9 @@ filesystem_test_() ->
fun() ->
{ok, TestDir} = lager_util:create_test_dir(),
CrashLog = filename:join(TestDir, "crash_test.log"),
ok = lager_test_util:safe_write_file(CrashLog, []),
ok = lager_util:safe_write_file(CrashLog, []),
ok = error_logger:tty(false),
ok = lager_test_util:safe_application_load(lager),
ok = lager_util:safe_application_load(lager),
ok = application:set_env(lager, handlers, [{lager_test_backend, info}]),
ok = application:set_env(lager, error_logger_redirect, true),
ok = application:unset_env(lager, crash_log),
@ -304,7 +304,7 @@ filesystem_test_() ->
_ = gen_event:which_handlers(error_logger),
?assertEqual(1, lager_test_backend:count()),
file:delete(CrashLog),
ok = lager_test_util:safe_write_file(CrashLog, ""),
ok = lager_util:safe_write_file(CrashLog, ""),
{ok, FInfo0} = file:read_file_info(CrashLog, [raw]),
FInfo1 = FInfo0#file_info{mode = 0},
?assertEqual(ok, file:write_file_info(CrashLog, FInfo1)),
@ -350,7 +350,7 @@ filesystem_test_() ->
{ok, Bin} = file:read_file(CrashLog),
?assertMatch([_, "Test message\n"], re:split(Bin, "\n", [{return, list}, {parts, 2}])),
?assertEqual(ok, file:delete(CrashLog)),
?assertEqual(ok, lager_test_util:safe_write_file(CrashLog, "")),
?assertEqual(ok, lager_util:safe_write_file(CrashLog, "")),
sync_error_logger:error_msg("Test message1~n"),
_ = gen_event:which_handlers(error_logger),
{ok, Bin1} = file:read_file(CrashLog),

+ 9
- 9
src/lager_file_backend.erl 查看文件

@ -594,7 +594,7 @@ filesystem_test_() ->
{foreach,
fun() ->
ok = error_logger:tty(false),
ok = lager_test_util:safe_application_load(lager),
ok = lager_util:safe_application_load(lager),
ok = application:set_env(lager, handlers, [{lager_test_backend, info}]),
ok = application:set_env(lager, error_logger_redirect, false),
ok = application:set_env(lager, async_threshold, undefined),
@ -658,7 +658,7 @@ filesystem_test_() ->
fun() ->
{ok, TestDir} = lager_util:get_test_dir(),
TestLog = filename:join(TestDir, "test.log"),
?assertEqual(ok, lager_test_util:safe_write_file(TestLog, [])),
?assertEqual(ok, lager_util:safe_write_file(TestLog, [])),
{ok, FInfo0} = file:read_file_info(TestLog, [raw]),
FInfo1 = FInfo0#file_info{mode = 0},
@ -689,7 +689,7 @@ filesystem_test_() ->
lager:log(error, self(), "Test message"),
?assertEqual(1, lager_test_backend:count()),
?assertEqual(ok, file:delete(TestLog)),
?assertEqual(ok, lager_test_util:safe_write_file(TestLog, "")),
?assertEqual(ok, lager_util:safe_write_file(TestLog, "")),
{ok, FInfo0} = file:read_file_info(TestLog, [raw]),
FInfo1 = FInfo0#file_info{mode = 0},
?assertEqual(ok, file:write_file_info(TestLog, FInfo1)),
@ -708,7 +708,7 @@ filesystem_test_() ->
fun() ->
{ok, TestDir} = lager_util:get_test_dir(),
TestLog = filename:join(TestDir, "test.log"),
?assertEqual(ok, lager_test_util:safe_write_file(TestLog, [])),
?assertEqual(ok, lager_util:safe_write_file(TestLog, [])),
{ok, FInfo} = file:read_file_info(TestLog, [raw]),
OldPerms = FInfo#file_info.mode,
@ -739,7 +739,7 @@ filesystem_test_() ->
lager:log(error, self(), "Test message1"),
?assertEqual(1, lager_test_backend:count()),
?assertEqual(ok, file:delete(TestLog)),
?assertEqual(ok, lager_test_util:safe_write_file(TestLog, "")),
?assertEqual(ok, lager_util:safe_write_file(TestLog, "")),
lager:log(error, self(), "Test message2"),
?assertEqual(2, lager_test_backend:count()),
{ok, Bin} = file:read_file(TestLog),
@ -997,7 +997,7 @@ trace_files_test_() ->
Events = filename:join(TestDir, "events.log"),
ok = error_logger:tty(false),
ok = lager_test_util:safe_application_load(lager),
ok = lager_util:safe_application_load(lager),
ok = application:set_env(lager, handlers, [
{lager_file_backend, [
{file, Log},
@ -1068,10 +1068,10 @@ formatting_test_() ->
{ok, TestDir} = lager_util:get_test_dir(),
Log1 = filename:join(TestDir, "test.log"),
Log2 = filename:join(TestDir, "test2.log"),
?assertEqual(ok, lager_test_util:safe_write_file(Log1, [])),
?assertEqual(ok, lager_test_util:safe_write_file(Log2, [])),
?assertEqual(ok, lager_util:safe_write_file(Log1, [])),
?assertEqual(ok, lager_util:safe_write_file(Log2, [])),
ok = error_logger:tty(false),
ok = lager_test_util:safe_application_load(lager),
ok = lager_util:safe_application_load(lager),
ok = application:set_env(lager, handlers, [{lager_test_backend, info}]),
ok = application:set_env(lager, error_logger_redirect, false),
ok = lager:start(),

+ 2
- 2
src/lager_rotator_default.erl 查看文件

@ -113,7 +113,7 @@ rotate_file_test() ->
{ok, TestDir} = lager_util:create_test_dir(),
TestLog = filename:join(TestDir, "rotation.log"),
Outer = fun(N) ->
?assertEqual(ok, lager_test_util:safe_write_file(TestLog, erlang:integer_to_list(N))),
?assertEqual(ok, lager_util:safe_write_file(TestLog, erlang:integer_to_list(N))),
Inner = fun(M) ->
File = lists:flatten([TestLog, $., erlang:integer_to_list(M)]),
?assert(filelib:is_regular(File)),
@ -157,7 +157,7 @@ rotate_file_fail_test() ->
ok = lager_util:set_dir_permissions("u+rwx", TestDir),
%% write a file
?assertEqual(ok, lager_test_util:safe_write_file(TestLog, "hello")),
?assertEqual(ok, lager_util:safe_write_file(TestLog, "hello")),
case os:type() of
{win32, _} -> ok;

+ 26
- 4
src/lager_util.erl 查看文件

@ -32,10 +32,10 @@
]).
-ifdef(TEST).
-export([create_test_dir/0,
get_test_dir/0,
delete_test_dir/0,
set_dir_permissions/2]).
-export([create_test_dir/0, get_test_dir/0, delete_test_dir/0,
set_dir_permissions/2,
safe_application_load/1,
safe_write_file/2]).
-include_lib("eunit/include/eunit.hrl").
-endif.
@ -943,4 +943,26 @@ do_set_dir_permissions({unix, _}, Perms, Dir) ->
os:cmd("chmod -R " ++ Perms ++ " " ++ Dir),
ok.
safe_application_load(App) ->
case application:load(App) of
ok ->
ok;
{error, {already_loaded, App}} ->
ok;
Error ->
?assertEqual(ok, Error)
end.
safe_write_file(File, Content) ->
% Note: ensures that the new creation time is at least one second
% in the future
?assertEqual(ok, file:write_file(File, Content)),
Ctime0 = calendar:local_time(),
Ctime0Sec = calendar:datetime_to_gregorian_seconds(Ctime0),
Ctime1Sec = Ctime0Sec + 1,
Ctime1 = calendar:gregorian_seconds_to_datetime(Ctime1Sec),
{ok, FInfo0} = file:read_file_info(File, [raw]),
FInfo1 = FInfo0#file_info{ctime = Ctime1},
?assertEqual(ok, file:write_file_info(File, FInfo1, [raw])).
-endif.

+ 0
- 52
test/lager_test_util.erl 查看文件

@ -1,52 +0,0 @@
%% -------------------------------------------------------------------
%%
%% Copyright (c) 2011-2017 Basho Technologies, Inc.
%%
%% This file is provided to you under the Apache License,
%% Version 2.0 (the "License"); you may not use this file
%% except in compliance with the License. You may obtain
%% a copy of the License at
%%
%% http://www.apache.org/licenses/LICENSE-2.0
%%
%% Unless required by applicable law or agreed to in writing,
%% software distributed under the License is distributed on an
%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
%% KIND, either express or implied. See the License for the
%% specific language governing permissions and limitations
%% under the License.
%%
%% -------------------------------------------------------------------
-module(lager_test_util).
-ifdef(TEST).
-export([safe_application_load/1, safe_write_file/2]).
-include_lib("eunit/include/eunit.hrl").
-include_lib("kernel/include/file.hrl").
safe_application_load(App) ->
case application:load(App) of
ok ->
ok;
{error, {already_loaded, App}} ->
ok;
Error ->
?assertEqual(ok, Error)
end.
safe_write_file(File, Content) ->
% Note: ensures that the new creation time is at least one second
% in the future
?assertEqual(ok, file:write_file(File, Content)),
Ctime0 = calendar:local_time(),
Ctime0Sec = calendar:datetime_to_gregorian_seconds(Ctime0),
Ctime1Sec = Ctime0Sec + 1,
Ctime1 = calendar:gregorian_seconds_to_datetime(Ctime1Sec),
{ok, FInfo0} = file:read_file_info(File, [raw]),
FInfo1 = FInfo0#file_info{ctime = Ctime1},
?assertEqual(ok, file:write_file_info(File, FInfo1, [raw])).
-endif.

Loading…
取消
儲存