summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorLuke Bakken <luke@bakken.io>2020-04-27 15:34:04 +0000
committerJean-Sébastien Pédron <jean-sebastien@rabbitmq.com>2020-05-12 15:24:53 +0200
commita58b9cfe7f89843d9d80bbf9961d984a94b7eeee (patch)
tree50b96ea7d84394053d368c58648805c8d75e2d17 /test
parent776278c05cdf88b7561f828e794ab06083ca2b79 (diff)
downloadrabbitmq-server-git-a58b9cfe7f89843d9d80bbf9961d984a94b7eeee.tar.gz
Revert "Remove member_death test flake"
This reverts commit 598c14f76ff593f19faa0a01458273dc5b09197b. Add a broadcast
Diffstat (limited to 'test')
-rw-r--r--test/unit_gm_SUITE.erl27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/unit_gm_SUITE.erl b/test/unit_gm_SUITE.erl
index 6724a767d2..a574753e8e 100644
--- a/test/unit_gm_SUITE.erl
+++ b/test/unit_gm_SUITE.erl
@@ -37,6 +37,7 @@ all() ->
join_leave,
broadcast,
confirmed_broadcast,
+ member_death,
receive_in_order,
unexpected_msg,
down_in_members_change
@@ -73,6 +74,32 @@ broadcast(_Config) ->
confirmed_broadcast(_Config) ->
passed = do_broadcast(fun gm:confirmed_broadcast/2).
+member_death(_Config) ->
+ passed = with_two_members(
+ fun (Pid, Pid2) ->
+ {ok, Pid3} = gm:start_link(
+ ?MODULE, ?MODULE, self(),
+ fun rabbit_misc:execute_mnesia_transaction/1),
+ passed = receive_joined(Pid3, [Pid, Pid2, Pid3],
+ timeout_joining_gm_group_3),
+ passed = receive_birth(Pid, Pid3, timeout_waiting_for_birth_3_1),
+ passed = receive_birth(Pid2, Pid3, timeout_waiting_for_birth_3_2),
+
+ unlink(Pid3),
+ exit(Pid3, kill),
+
+ %% Have to do some broadcasts to ensure that all members
+ %% find out about the death.
+ BFun = broadcast_fun(fun gm:confirmed_broadcast/2),
+ passed = BFun(Pid, Pid2),
+ passed = BFun(Pid, Pid2),
+
+ passed = receive_death(Pid, Pid3, timeout_waiting_for_death_3_1),
+ passed = receive_death(Pid2, Pid3, timeout_waiting_for_death_3_2),
+
+ passed
+ end).
+
receive_in_order(_Config) ->
passed = with_two_members(
fun (Pid, Pid2) ->