File 2434-kernel-enet-test-Misc-tweaking.patch of Package erlang
From 2940eb981139b1e0dbea9b866a87ba6d63de1e06 Mon Sep 17 00:00:00 2001
From: Micael Karlberg <bmk@erlang.org>
Date: Mon, 23 Jun 2025 09:45:53 +0200
Subject: [PATCH 14/14] [kernel|enet|test] Misc tweaking
OTP-19674
---
lib/kernel/test/prim_net_SUITE.erl | 48 ++++++++++++++++++++++++------
1 file changed, 39 insertions(+), 9 deletions(-)
diff --git a/lib/kernel/test/prim_net_SUITE.erl b/lib/kernel/test/prim_net_SUITE.erl
index e93caf6ef6..a95fede05e 100644
--- a/lib/kernel/test/prim_net_SUITE.erl
+++ b/lib/kernel/test/prim_net_SUITE.erl
@@ -519,7 +519,7 @@ do_get_if_entry(Idxs) ->
%% Ask for an index that we know does not exit
?P("try validate *not* known interface"),
- [MaxIdx | _] = lists:reverse(lists:sort(Idxs)),
+ [{MaxIdx, _} | _] = lists:reverse(lists:keysort(1, Idxs)),
InvalidIdx = MaxIdx + 99,
case prim_net:get_if_entry(#{index => InvalidIdx}) of
{error, Reason} ->
@@ -537,15 +537,17 @@ do_get_if_entry(Idxs) ->
do_get_if_entry2([]) ->
ok;
-do_get_if_entry2([Idx|Idxs]) ->
+do_get_if_entry2([{Idx, Name}|Idxs]) ->
case prim_net:get_if_entry(#{index => Idx}) of
{ok, Entry} ->
?P("expected success retreiving of entry ~w: "
- "~n ~p", [Idx, Entry]),
+ "~n Name: ~s"
+ "~n Entry: ~p", [Idx, Name, Entry]),
do_get_if_entry2(Idxs);
{error, Reason} ->
- ?P("unexpected failure retreiving if entry ~w: "
- "~n ~p", [Idx, Reason]),
+ ?P("unexpected failure retrieving if-entry ~w: "
+ "~n Name: ~s"
+ "~n Reason: ~p", [Idx, Name, Reason]),
exit({unexpected_failure, Idx, Reason})
end.
@@ -661,17 +663,32 @@ do_if_name2index() ->
{ok, [{Idx,If}|_]} ->
{ok, Idx} = prim_net:if_name2index(If),
ok;
+ {error, enotsup = _Reason} ->
+ %% if-names not supported,
+ %%% but that is not the function we are testing => ignore
+ ok;
{error, Reason} ->
%% This should not really fail...
?P("Failed to get a success name to try: "
"~n Reason: ~p", [Reason]),
ok
end,
- {error, einval} = prim_net:if_name2index("flipp-flopp-on-concrete"),
- {error, enxio} = prim_net:if_name2index("flipp-flopp"),
+ case prim_net:if_name2index("flipp-flopp-on-concrete") of
+ {error, enotsup = NOTSUP} ->
+ skip(NOTSUP);
+ {error, einval} ->
+ ok
+ end,
+ case prim_net:if_name2index("flipp-flopp") of
+ {error, enxio} -> ok;
+ {error, enodev} -> ok
+ end,
{error, einval} = prim_net:if_name2index(["flipp-flopp"]),
{error, einval} = prim_net:if_name2index(['flipp-flopp']),
- {error, enxio} = prim_net:if_name2index([1,2,3,4]),
+ case prim_net:if_name2index([1,2,3,4]) of
+ {error, enxio} -> ok;
+ {error, enodev} -> ok
+ end,
{error, einval} = prim_net:if_name2index("flipp-" ++ [555] ++ "-flopp"),
ok.
@@ -685,12 +702,25 @@ if_index2name(_Config) when is_list(_Config) ->
Pre = fun() ->
%% Enable trap'ing exits
Old = process_flag(trap_exit, true),
- case prim_net:if_names() of
+ ?P("~w:pre -> try get if-names", [?FUNCTION_NAME]),
+ try prim_net:if_names() of
{ok, Idxs} ->
+ ?P("~w:pre -> "
+ "~n Idxs: ~p", [?FUNCTION_NAME, Idxs]),
#{trap_exit => Old,
idxs => Idxs};
{error, enotsup = NOTSUP} ->
+ ?P("~w:pre -> if-names enotsup", [?FUNCTION_NAME]),
skip(NOTSUP)
+ catch
+ error:notsup = NOTSUP ->
+ skip(NOTSUP);
+ C:E:S ->
+ ?P("~w:pre -> catched: "
+ "~n C: ~p"
+ "~n E: ~p"
+ "~n S: ~p", [?FUNCTION_NAME, C, E, S]),
+ exit({unexpected, {C, E, S}})
end
end,
TC =
--
2.43.0