File 1395-mnesia-test-improve-compile-times.patch of Package erlang

From 528d792094a761a8c2f989ee0029b8d5a6eb5e19 Mon Sep 17 00:00:00 2001
From: Dan Gudmundsson <dgud@erlang.org>
Date: Tue, 24 Feb 2026 14:42:52 +0100
Subject: [PATCH] mnesia: test improve compile times

Reduce macro size by invoke function instead.
---
 lib/mnesia/test/mnesia_test_lib.erl | 39 +++++++++++++++++++++++++++
 lib/mnesia/test/mnesia_test_lib.hrl | 41 +++++++----------------------
 2 files changed, 48 insertions(+), 32 deletions(-)

diff --git a/lib/mnesia/test/mnesia_test_lib.erl b/lib/mnesia/test/mnesia_test_lib.erl
index 2c227bbb24..d2ab028f65 100644
--- a/lib/mnesia/test/mnesia_test_lib.erl
+++ b/lib/mnesia/test/mnesia_test_lib.erl
@@ -81,6 +81,7 @@
 	 log/2,
 	 log/4,
 	 verbose/4,
+         match/4,
 	 default_config/0,
 	 diskless/1,
 	 eval_test_case/3,
@@ -156,6 +157,44 @@ end_per_testcase(_Func, Config) ->
     %% rpc:multicall(Nodes, mnesia, lkill, []),
     Config.
 
+
+match(Expr, Match, File, Line) ->
+    try
+        AR_0 = Expr(),
+        case Match(AR_0) of
+            true ->
+                verbose("ok, ~n Result as expected:~p~n",[AR_0], File, Line),
+                {success, AR_0};
+            {false, Pattern} ->
+                error("Expected ~ts Not Matching Actual result was:~n ~p~n",
+                      [Pattern, AR_0], File, Line),
+                {fail, AR_0}
+        end
+    catch
+        exit:{aborted, _ER_1}:Stacktrace when
+              element(1, _ER_1) =:= node_not_running;
+              element(1, _ER_1) =:= bad_commit;
+              element(1, _ER_1) =:= cyclic ->
+            %% Need to re-raise these to restart transaction
+            erlang:raise(exit, {aborted, _ER_1}, Stacktrace);
+        exit:AR_1:Stacktrace ->
+            AR_2 = {'EXIT', AR_1},
+            case Match(AR_2) of
+                true ->
+                    verbose("ok, ~n Result as expected:~p~n",[AR_2], File, Line),
+                    {success, AR_2};
+                {false, Pattern2} ->
+                    error("Expected ~ts Not Matching Actual result was:~n ~p~n ~p~n",
+                          [Pattern2, AR_2, Stacktrace], File, Line),
+                    {fail, AR_2}
+            end;
+        T1:AR_1:Stacktrace ->
+            error("Not Matching Actual result was:~n ~p~n  ~p~n",
+                  [{T1,AR_1}, Stacktrace], File, Line),
+            {fail,{T1,AR_1}}
+    end.
+
+
 %% Use ?log(Format, Args) as wrapper
 log(Format, Args, LongFile, Line) ->
     File = filename:basename(LongFile),
diff --git a/lib/mnesia/test/mnesia_test_lib.hrl b/lib/mnesia/test/mnesia_test_lib.hrl
index bb6683d553..1fb093681e 100644
--- a/lib/mnesia/test/mnesia_test_lib.hrl
+++ b/lib/mnesia/test/mnesia_test_lib.hrl
@@ -47,38 +47,15 @@
 		AcTuAlReS
 	end()).
 
--define(match(ExpectedRes,Expr),
-	(_ = fun() ->
-                     try Expr of
-                         _AR_0 = ExpectedRes ->
-                             ?verbose("ok, ~n Result as expected:~p~n",[_AR_0]),
-                             {success,_AR_0};
-                         _AR_0 ->
-                             ?error("Not Matching Actual result was:~n ~p~n",[_AR_0]),
-                             {fail,_AR_0}
-                     catch
-                         exit:{aborted, _ER_1}:Stacktrace when
-                               element(1, _ER_1) =:= node_not_running;
-                               element(1, _ER_1) =:= bad_commit;
-                               element(1, _ER_1) =:= cyclic ->
-                             %% Need to re-raise these to restart transaction
-                             erlang:raise(exit, {aborted, _ER_1}, Stacktrace);
-                         exit:_AR_1:Stacktrace ->
-                             case fun(_AR_EXIT_) -> {'EXIT', _AR_EXIT_} end(_AR_1) of
-                                 _AR_2 = ExpectedRes ->
-                                     ?verbose("ok, ~n Result as expected:~p~n",[_AR_2]),
-                                     {success,_AR_2};
-                                 _AR_2 ->
-                                     ?error("Not Matching Actual result was:~n ~p~n ~p~n",
-                                            [_AR_2, Stacktrace]),
-                                     {fail,_AR_2}
-                             end;
-                         _T1_:_AR_1:Stacktrace ->
-                             ?error("Not Matching Actual result was:~n ~p~n  ~p~n",
-                                    [{_T1_,_AR_1}, Stacktrace]),
-                             {fail,{_T1_,_AR_1}}
-                     end
-             end())).
+-define(match(ExpectedRes, Expr),
+        mnesia_test_lib:match(fun() -> Expr end,
+                              fun(__Res__) ->
+                                      case __Res__ of
+                                          ExpectedRes -> true;
+                                          _ -> {false, ??ExpectedRes}
+                                      end
+                              end,
+                              ?FILE, ?LINE)).
 
 -define(match_inverse(NotExpectedRes,Expr),
 	(_ = fun() ->
-- 
2.51.0

openSUSE Build Service is sponsored by