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