File 5789-kernel-net-test-Tweaked-for-FreeBSD.patch of Package erlang

From 479f29f1a6de953d150463b2184509fa061a549d Mon Sep 17 00:00:00 2001
From: Micael Karlberg <bmk@erlang.org>
Date: Wed, 17 Apr 2024 11:33:51 +0200
Subject: [PATCH 09/18] [kernel|net|test] Tweaked for FreeBSD

---
 lib/kernel/test/net_SUITE.erl | 25 ++++++++++++++++++++++---
 1 file changed, 22 insertions(+), 3 deletions(-)

diff --git a/lib/kernel/test/net_SUITE.erl b/lib/kernel/test/net_SUITE.erl
index fcc6e6dc98..2f339b4900 100644
--- a/lib/kernel/test/net_SUITE.erl
+++ b/lib/kernel/test/net_SUITE.erl
@@ -24,8 +24,12 @@
 %% not even reside here).
 %%
 
+%% Starting a VM to run tests with ct:
+%% ( cd $LOCAL_TESTS/27/kernel_test/ && $ERL_TOP/bin/erl -sname kernel-27-tester -pa $LOCAL_TESTS/27/test_server )
+%%
 %% Run the entire test suite: 
 %% ts:run(emulator, net_SUITE, [batch]).
+%% S = fun(SUITE) -> ct:run_test([{suite, SUITE}]) end, S(net_SUITE).
 %%
 %% Run a specific group:
 %% ts:run(emulator, net_SUITE, {group, foo}, [batch]).
@@ -414,7 +418,7 @@ api_b_getservbyport(suite) ->
 api_b_getservbyport(doc) ->
     [];
 api_b_getservbyport(_Config) when is_list(_Config) ->
-    ?TT(?SECS(5)),
+    ?TT(?SECS(30)),
     tc_try(?FUNCTION_NAME,
            fun() ->
                    ok = api_b_getservbyport()
@@ -424,9 +428,13 @@ api_b_getservbyport(_Config) when is_list(_Config) ->
 api_b_getservbyport() ->
     ?P("A couple of (expected) successes"),
     {ok, "http"} = net:getservbyport(80),
-    {ok, "http"} = net:getservbyport(80,   any),
+    not_freebsd(fun() -> {ok, "http"} = net:getservbyport(80,   any) end),
     {ok, "http"} = net:getservbyport(80,   tcp),
-    not_on_windows(fun() -> {ok, "www"}  = net:getservbyport(80,   udp) end),
+    not_on_windows(fun() -> case net:getservbyport(80,   udp) of
+    			                         {ok, STR} when (STR =:= "http") orelse (STR =:= "WWW") -> ok;
+			                         {error, Reason} -> ?P("Unexpected failure: ~p", [Reason]), ?FAIL({80, udp, Reason})
+			                      end
+			         end),
     {ok, "snmp"} = net:getservbyport(161,  udp),
     not_on_windows(fun() -> {ok, "snmp"} = net:getservbyport(161,  tcp) end),
     not_on_windows(fun() -> {ok, "epmd"} = net:getservbyport(4369, tcp) end),
@@ -441,6 +449,17 @@ api_b_getservbyport() ->
     ok.
 
 
+not_freebsd(F) ->
+   Cond = fun() -> case os:type() of
+                                 {unix, freebsd} ->
+				     skip;
+				 _ ->
+				    run
+			     end
+		end,
+   maybe_run(Cond, F).
+
+
 not_on_windows(F) ->
     Cond = fun() -> case os:type() of
 			{win32, nt} ->
-- 
2.35.3

openSUSE Build Service is sponsored by