File 0816-erts-Fix-disable-of-MSACC.patch of Package erlang

From b1c1e3d2c2d0b9b44c25dc5e56a62b332b31843b Mon Sep 17 00:00:00 2001
From: Lukas Larsson <lukas@erlang.org>
Date: Mon, 20 Dec 2021 10:35:50 +0100
Subject: [PATCH 1/2] erts: Fix disable of MSACC

---
 erts/emulator/beam/erl_msacc.c          |  2 +-
 erts/emulator/test/statistics_SUITE.erl | 11 +++++++++++
 lib/runtime_tools/test/msacc_SUITE.erl  | 13 ++++++++++++-
 3 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/erts/emulator/beam/erl_msacc.c b/erts/emulator/beam/erl_msacc.c
index 89fdaf77cd..db06688be7 100644
--- a/erts/emulator/beam/erl_msacc.c
+++ b/erts/emulator/beam/erl_msacc.c
@@ -42,7 +42,7 @@
 #include "erl_msacc.h"
 #include "erl_bif_table.h"
 
-#if ERTS_ENABLE_MSACC
+#ifdef ERTS_ENABLE_MSACC
 
 static Eterm erts_msacc_gather_stats(ErtsMsAcc *msacc, ErtsHeapFactory *factory);
 static void erts_msacc_reset(ErtsMsAcc *msacc);
diff --git a/erts/emulator/test/statistics_SUITE.erl b/erts/emulator/test/statistics_SUITE.erl
index 155ec28323..6aef3a29ed 100644
--- a/erts/emulator/test/statistics_SUITE.erl
+++ b/erts/emulator/test/statistics_SUITE.erl
@@ -23,6 +23,7 @@
 %% Tests the statistics/1 bif.
 
 -export([all/0, suite/0, groups/0,
+         init_per_testcase/2,
          wall_clock_sanity/1,
 	 wall_clock_zero_diff/1, wall_clock_update/1,
          runtime_sanity/1,
@@ -61,6 +62,16 @@ groups() ->
       [runtime_sanity, runtime_zero_diff, runtime_update, runtime_diff]},
      {run_queue, [], [run_queue_one]}].
 
+init_per_testcase(msacc, Config) ->
+    try erlang:statistics(microstate_accounting) of
+        _ ->
+            Config
+    catch _:_ ->
+            {skip, "Microstate accouning not available"}
+    end;
+init_per_testcase(_, Config) ->
+    Config.
+
 wall_clock_sanity(Config) when is_list(Config) ->
     erlang:yield(),
     {WallClock, _} = statistics(wall_clock),
diff --git a/lib/runtime_tools/test/msacc_SUITE.erl b/lib/runtime_tools/test/msacc_SUITE.erl
index 145a6d07fb..c9a48e466a 100644
--- a/lib/runtime_tools/test/msacc_SUITE.erl
+++ b/lib/runtime_tools/test/msacc_SUITE.erl
@@ -22,7 +22,7 @@
 -include_lib("common_test/include/ct.hrl").
 
 %% Test server callbacks
--export([suite/0, all/0]).
+-export([suite/0, all/0, init_per_suite/1, end_per_suite/1]).
 
 %% Test cases
 -export([
@@ -49,6 +49,17 @@ suite() -> [
 	{ct_hooks,[ts_install_cth]}
     ].
 
+init_per_suite(Config) ->
+    try erlang:statistics(microstate_accounting) of
+        _ ->
+            Config
+    catch _:_ ->
+            {skip, "Microstate accouning not available"}
+    end.
+
+end_per_suite(_Config) ->
+    ok.
+
 %%--------------------------------------------------------------------
 %% TEST CASES
 %%--------------------------------------------------------------------
-- 
2.31.1

openSUSE Build Service is sponsored by