summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mirrored_supervisor_tests.erl1
-rw-r--r--src/rabbit.erl8
2 files changed, 7 insertions, 2 deletions
diff --git a/src/mirrored_supervisor_tests.erl b/src/mirrored_supervisor_tests.erl
index ee9c7593..5e782a08 100644
--- a/src/mirrored_supervisor_tests.erl
+++ b/src/mirrored_supervisor_tests.erl
@@ -202,6 +202,7 @@ with_sups(Fun, Sups) ->
Pids = [begin {ok, Pid} = start_sup(Sup), Pid end || Sup <- Sups],
Fun(Pids),
[kill(Pid) || Pid <- Pids, is_process_alive(Pid)],
+ timer:sleep(100),
passed.
start_sup(Spec) ->
diff --git a/src/rabbit.erl b/src/rabbit.erl
index 1c11f5af..530955c2 100644
--- a/src/rabbit.erl
+++ b/src/rabbit.erl
@@ -225,8 +225,12 @@ prepare() ->
start() ->
try
%% prepare/1 ends up looking at the rabbit app's env, so it
- %% needs to be loaded.
- ok = application:load(rabbit),
+ %% needs to be loaded, but during the tests, it may end up
+ %% getting loaded twice, so guard against that
+ case application:load(rabbit) of
+ ok -> ok;
+ {error, {already_loaded, rabbit}} -> ok
+ end,
ok = prepare(),
ok = rabbit_misc:start_applications(application_load_order())
after