File 3023-kernel-esock-test-Tweaked-api_opt_ip_tos_udp4.patch of Package erlang

From 0533e370f76e52364979cea6aa2207f291a0cc56 Mon Sep 17 00:00:00 2001
From: Micael Karlberg <bmk@erlang.org>
Date: Wed, 13 Dec 2023 19:20:02 +0100
Subject: [PATCH 3/6] [kernel|esock|test] Tweaked api_opt_ip_tos_udp4

---
 lib/kernel/test/socket_SUITE.erl | 28 +++++++++++++++++++++++-----
 1 file changed, 23 insertions(+), 5 deletions(-)

diff --git a/lib/kernel/test/socket_SUITE.erl b/lib/kernel/test/socket_SUITE.erl
index 5dcbc7ceb1..be41909902 100644
--- a/lib/kernel/test/socket_SUITE.erl
+++ b/lib/kernel/test/socket_SUITE.erl
@@ -21806,7 +21806,7 @@ api_opt_ip_recvtos_udp(InitState) ->
                    end},
 
          #{desc => "extract the (expected) recvtos \"default\" value",
-           cmd  => fun(#{sock_dst := Sock, set := Set} = State) ->
+           cmd  => fun(#{sock_dst := Sock} = State) ->
                            {ok, DefValue} = socket:getopt(Sock, ip, tos),
                            ?SEV_IPRINT("(expected) recvtos def value: ~w",
                                        [DefValue]),
@@ -22474,10 +22474,28 @@ api_opt_ip_tos_udp(InitState) ->
                                {ok, 0 = Value} ->
                                    ?SEV_IPRINT("expected default tos: ~p", [Value]),
                                    ok;
-                               {ok, Unexpected} ->
-                                   ?SEV_EPRINT("Unexpected default tos: ~p",
-                                               [Unexpected]),
-                                   {error, {unexpected, Unexpected}};
+                               {ok, Value} ->
+                                   %% On FreeBSD 14 default value is not 0!
+                                   case os:type() of
+                                       {unix, freebsd} ->
+                                           case os:version() of
+                                               {14, _, _}
+                                                 when (Value =:= mincost) ->
+                                                   ok;
+                                               _ ->
+                                                   ?SEV_EPRINT("Unexpected "
+                                                               "default "
+                                                               "tos: ~p",
+                                                               [Value]),
+                                                   {error, {unexpected, Value}}
+                                           end;
+                                       _ ->
+                                           ?SEV_EPRINT("Unexpected "
+                                                       "default "
+                                                       "tos: ~p",
+                                                       [Value]),
+                                           {error, {unexpected, Value}}
+                                   end;
                                {error, Reason} = ERROR ->
                                    ?SEV_EPRINT("Failed getting (default) tos:"
                                                "   ~p", [Reason]),
-- 
2.35.3

openSUSE Build Service is sponsored by