File 0893-eldap-Choose-server-search-order-randomly.patch of Package erlang
From 0bd6f800e9bc8d8302b87d988e6e2b6ff4c826c1 Mon Sep 17 00:00:00 2001
From: Hans Nilsson <hans@erlang.org>
Date: Wed, 2 Feb 2022 10:11:52 +0100
Subject: [PATCH 2/2] eldap: Choose server search order randomly
---
lib/eldap/test/eldap_basic_SUITE.erl | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/lib/eldap/test/eldap_basic_SUITE.erl b/lib/eldap/test/eldap_basic_SUITE.erl
index 9070f9e756..1abc6f7c0c 100644
--- a/lib/eldap/test/eldap_basic_SUITE.erl
+++ b/lib/eldap/test/eldap_basic_SUITE.erl
@@ -171,7 +171,7 @@ ldap_servers(_Config) ->
init_per_suite(Config) ->
SSL_available = init_ssl_certs_et_al(Config),
- ServerHosts = ["localhost" | ldap_servers(Config)],
+ ServerHosts = ["localhost" | random_sorted(ldap_servers(Config))],
LDAP_server = find_first_server(false,
[{H,9876} || H <- ServerHosts]),
@@ -1240,3 +1240,12 @@ init_ssl_certs_et_al(Config) ->
false
end.
+%%%----------------------------------------------------------------
+random_sorted(L) when is_list(L) ->
+ random_sorted(L, length(L), []).
+
+random_sorted([], 0, Acc) -> Acc;
+random_sorted(L, N, Acc) ->
+ R = rand:uniform(N),
+ E = lists:nth(R, L),
+ random_sorted(L -- [E], N-1, [E|Acc]).
--
2.34.1