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

openSUSE Build Service is sponsored by