File 4331-kernel-tcp-misc-test-Adjust-several-accepts-in-one-g.patch of Package erlang
From 26f07121c1ae550683e70c56cec895c78fc3c90e Mon Sep 17 00:00:00 2001
From: Micael Karlberg <bmk@erlang.org>
Date: Mon, 25 May 2020 19:27:30 +0200
Subject: [PATCH 31/35] [kernel|tcp|misc-test] Adjust several-accepts-in-one-go
test case
Add a skip clause (eaddrnotavail on listen, accept and connect).
---
lib/kernel/test/gen_tcp_misc_SUITE.erl | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/lib/kernel/test/gen_tcp_misc_SUITE.erl b/lib/kernel/test/gen_tcp_misc_SUITE.erl
index eb6be489c8..95be9106cc 100644
--- a/lib/kernel/test/gen_tcp_misc_SUITE.erl
+++ b/lib/kernel/test/gen_tcp_misc_SUITE.erl
@@ -2727,6 +2727,7 @@ collect_accepts(N,Tmo) ->
{accepted,P,Msg} ->
NextN = if N =:= infinity -> N; true -> N - 1 end,
[{P,Msg}] ++ collect_accepts(NextN, Tmo - (millis()-A))
+
after Tmo ->
[]
end.
@@ -2744,8 +2745,13 @@ collect_accepts(N,Tmo) ->
collect_connects(Tmo) ->
A = millis(),
receive
+ {connected, P, {error, eaddrnotavail = Reason}} ->
+ p("~p Failed connect: ~p", [P, Reason]),
+ skip(connect_failed_str(Reason));
+
{connected,P,Msg} ->
[{P,Msg}] ++ collect_connects(Tmo-(millis() - A))
+
after Tmo ->
[]
end.
@@ -3171,7 +3177,19 @@ do_killing_multi_acceptors2(_Config) ->
%% Checks that multi-accept works when more than one accept can be
%% done at once (wb test of inet_driver).
several_accepts_in_one_go(Config) when is_list(Config) ->
- {ok,LS}=gen_tcp:listen(0,[]),
+ try do_several_accepts_in_one_go(Config)
+ catch
+ throw:{skip, _} = SKIP ->
+ SKIP
+ end.
+
+do_several_accepts_in_one_go(_Config) ->
+ LS = case gen_tcp:listen(0,[]) of
+ {ok, LSock} ->
+ LSock;
+ {error, eaddrnotavail = Reason} ->
+ skip(listen_failed_str(Reason))
+ end,
Parent = self(),
{ok,PortNo}=inet:port(LS),
F1 = fun() -> Parent ! {accepted,self(),gen_tcp:accept(LS)} end,
--
2.26.2