From 8538a5a5b61f767b0f883eeee4e5fb2eff402e44 Mon Sep 17 00:00:00 2001 From: Andrew Mayorov Date: Thu, 13 Jun 2024 18:32:57 +0200 Subject: [PATCH] test(dsrepl): anticipate transitionless membership changes E.g. when a membership change is applied twice in a row. --- apps/emqx_durable_storage/test/emqx_ds_test_helpers.erl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/emqx_durable_storage/test/emqx_ds_test_helpers.erl b/apps/emqx_durable_storage/test/emqx_ds_test_helpers.erl index ba9589e97..c8162e42a 100644 --- a/apps/emqx_durable_storage/test/emqx_ds_test_helpers.erl +++ b/apps/emqx_durable_storage/test/emqx_ds_test_helpers.erl @@ -207,7 +207,12 @@ apply_stream(DB, NodeStream0, Stream0, N) -> %% Give some time for at least one transition to complete. Transitions = transitions(Node, DB), ct:pal("Transitions after ~p: ~p", [Operation, Transitions]), - ?retry(200, 10, ?assertNotEqual(Transitions, transitions(Node, DB))), + case Transitions of + [_ | _] -> + ?retry(200, 10, ?assertNotEqual(Transitions, transitions(Node, DB))); + [] -> + ok + end, apply_stream(DB, NodeStream0, Stream, N); [Fun | Stream] when is_function(Fun) -> Fun(),