File 3506-snmp-test-Add-utility-function-and-macro-for-message.patch of Package erlang

From 31080c4e0d21f53d35bfd3ed4443e3ae424b041d Mon Sep 17 00:00:00 2001
From: Micael Karlberg <bmk@erlang.org>
Date: Tue, 20 Oct 2020 12:09:08 +0200
Subject: [PATCH 6/7] [snmp|test] Add utility function (and macro) for message
 queue

Add a utility function(s) (and macro) for 'peeking' at the
message queue of a process.
---
 lib/snmp/test/snmp_test_lib.erl | 13 ++++++++++++-
 lib/snmp/test/snmp_test_lib.hrl |  2 ++
 lib/snmp/test/snmp_test_mgr.erl | 29 ++++++++++++-----------------
 3 files changed, 26 insertions(+), 18 deletions(-)

diff --git a/lib/snmp/test/snmp_test_lib.erl b/lib/snmp/test/snmp_test_lib.erl
index 3062bfe43e..d4e7c53e0a 100644
--- a/lib/snmp/test/snmp_test_lib.erl
+++ b/lib/snmp/test/snmp_test_lib.erl
@@ -39,7 +39,7 @@
 	 replace_config/3, set_config/3, get_config/2, get_config/3]).
 -export([fail/3, skip/3]).
 -export([hours/1, minutes/1, seconds/1, sleep/1]).
--export([flush_mqueue/0, trap_exit/0, trap_exit/1]).
+-export([flush_mqueue/0, mqueue/0, mqueue/1, trap_exit/0, trap_exit/1]).
 -export([ping/1, local_nodes/0, nodes_on/1]).
 -export([start_node/2, stop_node/1]).
 -export([is_app_running/1, 
@@ -2241,6 +2241,17 @@ sleep(MSecs) ->
 %% Process utility function
 %%
 
+mqueue() ->
+    mqueue(self()).
+mqueue(Pid) when is_pid(Pid) ->
+    Key = messages,
+    case process_info(Pid, Key) of
+        {Key, Msgs} ->
+            Msgs;
+        _ ->
+            []
+    end.
+
 flush_mqueue() ->
     io:format("~p~n", [lists:reverse(flush_mqueue([]))]).
 
diff --git a/lib/snmp/test/snmp_test_lib.hrl b/lib/snmp/test/snmp_test_lib.hrl
index a853d3cc09..78d1453c12 100644
--- a/lib/snmp/test/snmp_test_lib.hrl
+++ b/lib/snmp/test/snmp_test_lib.hrl
@@ -85,6 +85,8 @@
 %% - Process utility macros - 
 
 -define(FLUSH(),        ?LIB:flush_mqueue()).
+-define(MQUEUE(),       ?LIB:mqueue()).
+-define(MQUEUE(P),      ?LIB:mqueue(P)).
 -define(ETRAP_GET(),    ?LIB:trap_exit()).
 -define(ETRAP_SET(O),   ?LIB:trap_exit(O)).
 -define(PINFO(__P__),   try process_info(__P__)
diff --git a/lib/snmp/test/snmp_test_mgr.erl b/lib/snmp/test/snmp_test_mgr.erl
index 306379808f..6b532c6261 100644
--- a/lib/snmp/test/snmp_test_mgr.erl
+++ b/lib/snmp/test/snmp_test_mgr.erl
@@ -746,17 +746,12 @@ get_response_impl(Id, ExpVars) ->
             %% but what did we get?
             ?EPRINT("unexpected receive pdu error: ~w"
                     "~n   Reason:  ~p"
-                    "~n   Msg Que: ~p", [Id, Reason, msgs()]),
+                    "~n   Msg Que: ~p", [Id, Reason, ?MQUEUE()]),
 	    format_reason(Id, Reason)
     end.
 
     
 
-msgs() ->
-    {messages, Msgs} = process_info(self(), messages),
-    Msgs.
-
-
 %%----------------------------------------------------------------------
 %% Returns: ok | {error, Id, {ExpectedFormat, ExpectedData}, {Format, Data}}
 %%----------------------------------------------------------------------
@@ -771,7 +766,7 @@ expect_impl(Id, any) ->
             %% but what did we get?
             ?EPRINT("unexpected receive error: ~w"
                     "~n   Reason:  ~p"
-                    "~n   Msg Que: ~p", [Id, Reason, msgs()]),
+                    "~n   Msg Que: ~p", [Id, Reason, ?MQUEUE()]),
             format_reason(Id, Reason)
     end;
 
@@ -786,7 +781,7 @@ expect_impl(Id, return) ->
             %% but what did we get?
             ?EPRINT("unexpected receive error: ~w"
                     "~n   Reason:  ~p"
-                    "~n   Msg Que: ~p", [Id, Reason, msgs()]),
+                    "~n   Msg Que: ~p", [Id, Reason, ?MQUEUE()]),
             format_reason(Id, Reason)
     end;
 
@@ -801,7 +796,7 @@ expect_impl(Id, trap) ->
             %% but what did we get?
             ?EPRINT("unexpected receive error: ~w"
                     "~n   Reason:  ~p"
-                    "~n   Msg Que: ~p", [Id, Reason, msgs()]),
+                    "~n   Msg Que: ~p", [Id, Reason, ?MQUEUE()]),
             format_reason(Id, Reason)
     end;
 
@@ -842,7 +837,7 @@ expect_impl(Id, Err) when is_atom(Err) ->
             %% but what did we get?
             ?EPRINT("unexpected receive error: ~w"
                     "~n   Reason:  ~p"
-                    "~n   Msg Que: ~p", [Id, Reason, msgs()]),
+                    "~n   Msg Que: ~p", [Id, Reason, ?MQUEUE()]),
 	    format_reason(Id, Reason)
     end;
 
@@ -879,7 +874,7 @@ expect_impl(Id, ExpectedVarbinds) when is_list(ExpectedVarbinds) ->
             %% but what did we get?
             ?EPRINT("unexpected receive error: ~w"
                     "~n   Reason:  ~p"
-                    "~n   Msg Que: ~p", [Id, Reason, msgs()]),
+                    "~n   Msg Que: ~p", [Id, Reason, ?MQUEUE()]),
 	    format_reason(Id, Reason)
     end.
 
@@ -916,7 +911,7 @@ expect_impl(Id, v2trap, ExpectedVarbinds) when is_list(ExpectedVarbinds) ->
             %% but what did we get?
             ?EPRINT("unexpected receive error: ~w"
                     "~n   Reason:  ~p"
-                    "~n   Msg Que: ~p", [Id, Reason, msgs()]),
+                    "~n   Msg Que: ~p", [Id, Reason, ?MQUEUE()]),
 	    format_reason(Id, Reason)
     end;
 
@@ -953,7 +948,7 @@ expect_impl(Id, report, ExpectedVarbinds) when is_list(ExpectedVarbinds) ->
             %% but what did we get?
             ?EPRINT("unexpected receive error: ~w"
                     "~n   Reason:  ~p"
-                    "~n   Msg Que: ~p", [Id, Reason, msgs()]),
+                    "~n   Msg Que: ~p", [Id, Reason, ?MQUEUE()]),
 	    format_reason(Id, Reason)
     end;
 
@@ -1017,7 +1012,7 @@ expect_impl(Id, {inform, Reply}, ExpectedVarbinds)
             %% but what did we get?
             ?EPRINT("unexpected receive error: ~w"
                     "~n   Reason:  ~p"
-                    "~n   Msg Que: ~p", [Id, Reason, msgs()]),
+                    "~n   Msg Que: ~p", [Id, Reason, ?MQUEUE()]),
 	    format_reason(Id, Reason)
     end.
 
@@ -1079,7 +1074,7 @@ expect_impl(Id, Err, Index, any = _ExpectedVarbinds) ->
             %% but what did we get?
             ?EPRINT("unexpected (receive) response: "
                     "~n   Reason:  ~p"
-                    "~n   Msg Que: ~p", [Id, Reason, msgs()]),
+                    "~n   Msg Que: ~p", [Id, Reason, ?MQUEUE()]),
 	    format_reason(Id, Reason)
     end;
 
@@ -1161,7 +1156,7 @@ expect_impl(Id, Err, Index, ExpectedVarbinds) ->
             %% but what did we get?
             ?EPRINT("unexpected receive pdu error: ~w"
                     "~n   Reason:  ~p"
-                    "~n   Msg Que: ~p", [Id, Reason, msgs()]),
+                    "~n   Msg Que: ~p", [Id, Reason, ?MQUEUE()]),
 	    format_reason(Id, Reason)
     end.
 
@@ -1214,7 +1209,7 @@ expect_impl(Id, trap, Enterp, Generic, Specific, ExpectedVarbinds) ->
             %% but what did we get?
             ?EPRINT("unexpected receive trap pdu error: ~w"
                     "~n   Reason:  ~p"
-                    "~n   Msg Que: ~p", [Id, Reason, msgs()]),
+                    "~n   Msg Que: ~p", [Id, Reason, ?MQUEUE()]),
 	    format_reason(Id, Reason)
     end.
 
-- 
2.26.2

openSUSE Build Service is sponsored by