diff options
| author | Daniil Fedotov <dfedotov@pivotal.io> | 2017-10-26 16:43:14 +0100 |
|---|---|---|
| committer | Daniil Fedotov <dfedotov@pivotal.io> | 2017-10-26 16:43:14 +0100 |
| commit | b60775ed006f5f621b0ce4a1e71a7c97d8ee2ff6 (patch) | |
| tree | b285d56ba1b09c1bc53f3abe1c7032f8d969a1dc /src/rabbit.erl | |
| parent | 2545c1b136f4993019bf8368057def2a546ed9f8 (diff) | |
| download | rabbitmq-server-git-b60775ed006f5f621b0ce4a1e71a7c97d8ee2ff6.tar.gz | |
Start `rabbit` application as temporary in tests.
Some tests output can break when `rabbit` application failure
stops the node. Make it possible to configure restart type.
Diffstat (limited to 'src/rabbit.erl')
| -rw-r--r-- | src/rabbit.erl | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl index 4a9ae6ba76..8971c6456c 100644 --- a/src/rabbit.erl +++ b/src/rabbit.erl @@ -23,7 +23,7 @@ is_running/1, environment/0, rotate_logs/1, force_event_refresh/1, start_fhc/0]). -export([start/2, stop/1]). --export([start_apps/1, stop_apps/1]). +-export([start_apps/1, start_apps/2, stop_apps/1]). -export([log_location/1, config_files/0, decrypt_config/2]). %% for testing and mgmt-agent %%--------------------------------------------------------------------------- @@ -217,6 +217,7 @@ %%---------------------------------------------------------------------------- -type file_suffix() :: binary(). +-type restart_type() :: 'permanent' | 'transient' | 'temporary'. %% this really should be an abstract type -type log_location() :: 'tty' | 'undefined' | file:filename(). -type param() :: atom(). @@ -253,6 +254,7 @@ -spec boot_delegate() -> 'ok'. -spec recover() -> 'ok'. -spec start_apps([app_name()]) -> 'ok'. +-spec start_apps([app_name()], [{app_name(), restart_type()}]) -> 'ok'. -spec stop_apps([app_name()]) -> 'ok'. %%---------------------------------------------------------------------------- @@ -474,6 +476,9 @@ stop_and_halt() -> ok. start_apps(Apps) -> + start_apps(Apps, []). + +start_apps(Apps, RestartTypes) -> app_utils:load_applications(Apps), ConfigEntryDecoder = case application:get_env(rabbit, config_entry_decoder) of @@ -513,7 +518,8 @@ start_apps(Apps) -> true -> ok %% will run during start of rabbit app end, ok = app_utils:start_applications(OrderedApps, - handle_app_error(could_not_start)). + handle_app_error(could_not_start), + RestartTypes). %% This function retrieves the correct IoDevice for requesting %% input. The problem with using the default IoDevice is that |
