summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/unit_inbroker_non_parallel_SUITE.erl92
1 files changed, 54 insertions, 38 deletions
diff --git a/test/unit_inbroker_non_parallel_SUITE.erl b/test/unit_inbroker_non_parallel_SUITE.erl
index 866d529489..56b645c98e 100644
--- a/test/unit_inbroker_non_parallel_SUITE.erl
+++ b/test/unit_inbroker_non_parallel_SUITE.erl
@@ -39,7 +39,8 @@ groups() ->
file_handle_cache, %% Change FHC limit.
head_message_timestamp_statistics, %% Expect specific statistics.
log_management, %% Check log files.
- log_management_during_startup, %% Check log files.
+ log_file_initialised_during_startup,
+ log_file_fails_to_initialise_during_startup,
externally_rotated_logs_are_automatically_reopened %% Check log files.
]}
].
@@ -271,11 +272,11 @@ log_management1(_Config) ->
ok = test_logs_working([LogFile]),
passed.
-log_management_during_startup(Config) ->
+log_file_initialised_during_startup(Config) ->
passed = rabbit_ct_broker_helpers:rpc(Config, 0,
- ?MODULE, log_management_during_startup1, [Config]).
+ ?MODULE, log_file_initialised_during_startup1, [Config]).
-log_management_during_startup1(_Config) ->
+log_file_initialised_during_startup1(_Config) ->
[LogFile|_] = rabbit:log_locations(),
Suffix = ".0",
@@ -299,57 +300,72 @@ log_management_during_startup1(_Config) ->
application:unset_env(lager, extra_sinks),
ok = rabbit:start(),
- %% start application with logging to directory with no
- %% write permissions
- ok = rabbit:stop(),
- NoPermission1 = "/var/empty/test.log",
- delete_file(NoPermission1),
- delete_file(filename:dirname(NoPermission1)),
- ok = rabbit:stop(),
- ok = application:set_env(rabbit, lager_default_file, NoPermission1),
+ %% clean up
+ ok = application:set_env(rabbit, lager_default_file, LogFile),
application:unset_env(rabbit, log),
application:unset_env(lager, handlers),
application:unset_env(lager, extra_sinks),
- ok = try rabbit:start() of
+ ok = rabbit:start(),
+ passed.
+
+
+log_file_fails_to_initialise_during_startup(Config) ->
+ passed = rabbit_ct_broker_helpers:rpc(Config, 0,
+ ?MODULE, log_file_fails_to_initialise_during_startup1, [Config]).
+
+log_file_fails_to_initialise_during_startup1(_Config) ->
+ [LogFile|_] = rabbit:log_locations(),
+ Suffix = ".0",
+
+ %% start application with logging to directory with no
+ %% write permissions
+ ok = rabbit:stop(),
+
+ Run1 = fun() ->
+ NoPermission1 = "/var/empty/test.log",
+ delete_file(NoPermission1),
+ delete_file(filename:dirname(NoPermission1)),
+ ok = rabbit:stop(),
+ ok = application:set_env(rabbit, lager_default_file, NoPermission1),
+ application:unset_env(rabbit, log),
+ application:unset_env(lager, handlers),
+ application:unset_env(lager, extra_sinks),
+ rabbit:start()
+ end,
+
+ ok = try Run1() of
ok -> exit({got_success_but_expected_failure,
log_rotation_no_write_permission_dir_test})
catch
- _:{error, {cannot_log_to_file, _, Reason1}}
- when Reason1 =:= enoent orelse Reason1 =:= eacces -> ok;
- _:{error, {cannot_log_to_file, _,
- {cannot_create_parent_dirs, _, Reason1}}}
- when Reason1 =:= eperm orelse
- Reason1 =:= eacces orelse
- Reason1 =:= enoent-> ok
+ _:could_not_initialise_logger -> ok
end,
%% start application with logging to a subdirectory which
%% parent directory has no write permissions
NoPermission2 = "/var/empty/non-existent/test.log",
- delete_file(NoPermission2),
- delete_file(filename:dirname(NoPermission2)),
- case rabbit:stop() of
- ok -> ok;
- {error, lager_not_running} -> ok
+
+ Run2 = fun() ->
+ delete_file(NoPermission2),
+ delete_file(filename:dirname(NoPermission2)),
+ case rabbit:stop() of
+ ok -> ok;
+ {error, lager_not_running} -> ok
+ end,
+ ok = application:set_env(rabbit, lager_default_file, NoPermission2),
+ application:unset_env(rabbit, log),
+ application:unset_env(lager, handlers),
+ application:unset_env(lager, extra_sinks),
+ rabbit:start()
end,
- ok = application:set_env(rabbit, lager_default_file, NoPermission2),
- application:unset_env(rabbit, log),
- application:unset_env(lager, handlers),
- application:unset_env(lager, extra_sinks),
- ok = try rabbit:start() of
+
+ ok = try Run2() of
ok -> exit({got_success_but_expected_failure,
log_rotation_parent_dirs_test})
catch
- _:{error, {cannot_log_to_file, _, Reason2}}
- when Reason2 =:= enoent orelse Reason2 =:= eacces -> ok;
- _:{error, {cannot_log_to_file, _,
- {cannot_create_parent_dirs, _, Reason2}}}
- when Reason2 =:= eperm orelse
- Reason2 =:= eacces orelse
- Reason2 =:= enoent-> ok
+ _:could_not_initialise_logger -> ok
end,
- %% cleanup
+ %% clean up
ok = application:set_env(rabbit, lager_default_file, LogFile),
application:unset_env(rabbit, log),
application:unset_env(lager, handlers),