summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniil Fedotov <dfedotov@pivotal.io>2017-06-08 14:58:45 +0100
committerDaniil Fedotov <dfedotov@pivotal.io>2017-06-08 14:58:45 +0100
commitfb82e4bca6aa4423cb068f5f5c5f41fdad6d2ab6 (patch)
tree1b4c8d326df44cba3658c37faf92e53d92b08ed0
parentd6fedd2329c2561f73e7b59bb6e3434d1504971d (diff)
downloadrabbitmq-server-git-fb82e4bca6aa4423cb068f5f5c5f41fdad6d2ab6.tar.gz
APi to start_apps with different modes. Required by tests to not stop the common_test node
-rw-r--r--src/rabbit.erl10
-rw-r--r--test/unit_SUITE.erl6
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)