File 3215-kernel-net-test-Tweaked-getservby-name-port-test-cas.patch of Package erlang

From 7e67ff412e76e350f033f08f59488d18762f812a Mon Sep 17 00:00:00 2001
From: Micael Karlberg <bmk@erlang.org>
Date: Tue, 28 May 2024 11:39:28 +0200
Subject: [PATCH 15/18] [kernel|net|test] Tweaked getservby[name|port] test
 case(s)

Tweaked test cases for OpenBSD.

OTP-19101
---
 lib/kernel/test/net_SUITE.erl | 64 +++++++++++++++++++++++++++++------
 1 file changed, 53 insertions(+), 11 deletions(-)

diff --git a/lib/kernel/test/net_SUITE.erl b/lib/kernel/test/net_SUITE.erl
index eea9283fec..67ead737e1 100644
--- a/lib/kernel/test/net_SUITE.erl
+++ b/lib/kernel/test/net_SUITE.erl
@@ -413,7 +413,22 @@ api_b_getservbyname() ->
                            end
                    end),
     {ok, 161}  = net:getservbyname("snmp", udp),
-    not_on_windows(fun() -> {ok, 161}  = net:getservbyname("snmp", tcp) end),
+    not_on_windows(fun() ->
+                           case net:getservbyname("snmp", tcp) of
+                               {ok, 161} ->
+                                   ok;
+                               {error, Reason} ->
+                                   case os:type() of
+                                       {unix, openbsd} 
+                                         when (Reason =:= einval) ->
+                                           ok;
+                                       _ ->
+                                           ?P("Unexpected failure: ~p",
+                                              [Reason]),
+                                           ?FAIL({"snmp", tcp, Reason})
+                                   end
+                           end
+                   end),
     not_on_windows(fun() -> {ok, 4369} = net:getservbyname("epmd", tcp) end),
     not_on_windows(fun() -> {ok, 5672} = net:getservbyname("amqp", tcp) end),
     not_on_windows(fun() ->
@@ -428,14 +443,14 @@ api_b_getservbyname() ->
                                        _ ->
                                            ?P("Unexpected failure: ~p",
                                               [Reason]),
-                                           ?FAIL({"amap", udp, Reason})
+                                           ?FAIL({"amqp", udp, Reason})
                                    end
                            end
                    end),
 
     ?P("A couple of (expected) failures"),
     {error, einval} = net:getservbyname("gurka", tcp),
-    case net:getservbyname("http",  gurka) of
+    case net:getservbyname("http", gurka) of
         {error, einval} ->
             ok;
         {ok, 80} ->
@@ -472,25 +487,52 @@ 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),
-    {ok, "http"} = net:getservbyport(80,   tcp),
+    case net:getservbyport(80) of
+        {ok, "http"} ->
+            ok;
+        {ok, "www"} ->
+            ok;
+        {ok, OtherSrv1} ->
+            ?FAIL({unexpected_service, 80, default, OtherSrv1});
+        {error, Reason1} ->
+            ?FAIL({unexpected_failure, 80, default, Reason1})
+    end,
+    case net:getservbyport(80, any) of
+        {ok, "http"} ->
+            ok;
+        {ok, "www"} ->
+            ok;
+        {ok, OtherSrv2} ->
+            ?FAIL({unexpected_service, 80, any, OtherSrv2});
+        {error, Reason2} ->
+            ?FAIL({unexpected_failure, 80, any, Reason2})
+    end,
+    case net:getservbyport(80, tcp) of
+        {ok, "http"} ->
+            ok;
+        {ok, "www"} ->
+            ok;
+        {ok, OtherSrv3} ->
+            ?FAIL({unexpected_service, 80, tcp, OtherSrv3});
+        {error, Reason3} ->
+            ?FAIL({unexpected_failure, 80, tcp, Reason3})
+    end,
     not_on_windows(fun() ->
                            case net:getservbyport(80,   udp) of
                                {ok, STR} when (STR =:= "http") orelse
                                               (STR =:= "www") orelse
                                               (STR =:= "WWW") -> ok;
-                               {error, Reason} ->
+                               {error, Reason4} ->
                                    case os:type() of
                                        {unix, linux}
-                                         when (Reason =:= einval) ->
+                                         when (Reason4 =:= einval) ->
                                            %% This happens on some linux
                                            %% (Ubuntu 22 on Parallels ARM VM)
                                            ok;
                                        _ ->
                                            ?P("Unexpected failure: ~p",
-                                              [Reason]),
-                                           ?FAIL({80, udp, Reason})
+                                              [Reason4]),
+                                           ?FAIL({80, udp, Reason4})
                                    end
                            end
                    end),
@@ -510,7 +552,7 @@ api_b_getservbyport() ->
                                        _ ->
                                            ?P("Unexpected failure: ~p",
                                               [Reason]),
-                                           ?FAIL({"amap", sctp, Reason})
+                                           ?FAIL({"amqp", sctp, Reason})
                                    end
                            end
                    end),
-- 
2.35.3

openSUSE Build Service is sponsored by