diff options
| -rw-r--r-- | src/rabbit.erl | 10 | ||||
| -rw-r--r-- | test/unit_SUITE.erl | 6 |
2 files changed, 11 insertions, 5 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl index 5ae58f57d1..dee8ff3571 100644 --- a/src/rabbit.erl +++ b/src/rabbit.erl @@ -23,7 +23,7 @@ is_running/1, environment/0, rotate_logs/0, force_event_refresh/1, start_fhc/0]). -export([start/2, stop/1, prep_stop/1]). --export([start_apps/1, stop_apps/1]). +-export([start_apps/1, start_apps/2, stop_apps/1]). -export([log_locations/0, config_files/0, decrypt_config/2]). %% for testing and mgmt-agent -ifdef(TEST). @@ -266,6 +266,8 @@ -spec boot_delegate() -> 'ok'. -spec recover() -> 'ok'. -spec start_apps([app_name()]) -> 'ok'. +-spec start_apps([app_name()], + #{app_name() => permanent|transient|temporary}) -> 'ok'. -spec stop_apps([app_name()]) -> 'ok'. %%---------------------------------------------------------------------------- @@ -506,6 +508,9 @@ stop_and_halt() -> ok. start_apps(Apps) -> + start_apps(Apps, #{}). + +start_apps(Apps, AppModes) -> app_utils:load_applications(Apps), ConfigEntryDecoder = case application:get_env(rabbit, config_entry_decoder) of @@ -545,7 +550,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), + AppModes). %% This function retrieves the correct IoDevice for requesting %% input. The problem with using the default IoDevice is that diff --git a/test/unit_SUITE.erl b/test/unit_SUITE.erl index f3fec06cb4..3e92158595 100644 --- a/test/unit_SUITE.erl +++ b/test/unit_SUITE.erl @@ -332,7 +332,7 @@ do_decrypt_start_app(Config, Passphrase) -> %% %% We expect a failure *after* the decrypting has been done. try - rabbit:start_apps([rabbit_shovel_test]) + rabbit:start_apps([rabbit_shovel_test], #{rabbit => temporary}) catch _:_ -> ok end, @@ -359,7 +359,7 @@ decrypt_start_app_undefined(Config) -> %% %% We expect a failure during decryption because the passphrase is missing. try - rabbit:start_apps([rabbit_shovel_test]) + rabbit:start_apps([rabbit_shovel_test], #{rabbit => temporary}) catch exit:{bad_configuration, config_entry_decoder} -> ok; _:_ -> exit(unexpected_exception) @@ -379,7 +379,7 @@ decrypt_start_app_wrong_passphrase(Config) -> %% %% We expect a failure during decryption because the passphrase is wrong. try - rabbit:start_apps([rabbit_shovel_test]) + rabbit:start_apps([rabbit_shovel_test], #{rabbit => temporary}) catch exit:{decryption_error,_,_} -> ok; _:_ -> exit(unexpected_exception) |
