diff options
-rw-r--r-- | src/mirrored_supervisor_tests.erl | 1 | ||||
-rw-r--r-- | src/rabbit.erl | 8 |
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 |