File 2773-erts-Fix-ets-memory-comparison-test.patch of Package erlang

From a67c45611b32b14094c6f9cecb87e8ddb6319805 Mon Sep 17 00:00:00 2001
From: Lukas Larsson <lukas@erlang.org>
Date: Wed, 8 Dec 2021 09:48:57 +0100
Subject: [PATCH 3/3] erts: Fix ets memory comparison test

---
 lib/stdlib/test/ets_SUITE.erl | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/lib/stdlib/test/ets_SUITE.erl b/lib/stdlib/test/ets_SUITE.erl
index 2069f5f27c..d2cbf2c9e6 100644
--- a/lib/stdlib/test/ets_SUITE.erl
+++ b/lib/stdlib/test/ets_SUITE.erl
@@ -3070,16 +3070,24 @@ write_concurrency(Config) when is_list(Config) ->
 
     true = YesMem > YesTreeMem,
 
-    case erlang:system_info(schedulers) > 1 of
-        true ->
-            true = YesMem > NoHashMem,
-            true = YesMem > NoTreeMem,
-            true = YesTreeMem > NoTreeMem,
-            true = YesYesTreeMem > YesTreeMem;
-        _ ->
+    case erlang:system_info(schedulers) of
+        1 ->
             YesMem = NoHashMem,
             YesTreeMem = NoTreeMem,
-            YesYesTreeMem = YesTreeMem
+            YesYesTreeMem = YesTreeMem;
+        NoSchedulers ->
+            true = YesMem > NoHashMem,
+            true = YesMem > NoTreeMem,
+
+            %% The memory of ordered_set with write concurrency is
+            %% smaller than without write concurrency on systems with
+            %% few schedulers.
+            if NoSchedulers > 6 ->
+                    true = YesTreeMem >= NoTreeMem;
+               true ->
+                    true = YesTreeMem < NoTreeMem
+            end,
+            true = YesYesTreeMem > YesTreeMem
     end,
 
     {'EXIT',{badarg,_}} = (catch ets_new(foo,[public,{write_concurrency,foo}])),
-- 
2.31.1

openSUSE Build Service is sponsored by