File 4311-kernel-tcp-misc-test-Adjust-econnreset-after-sync-se.patch of Package erlang
From 410c5cf2a315f52e920a752abc2782cb9c0c9fd8 Mon Sep 17 00:00:00 2001
From: Micael Karlberg <bmk@erlang.org>
Date: Wed, 20 May 2020 12:19:33 +0200
Subject: [PATCH 11/35] [kernel|tcp|misc-test] Adjust
econnreset-after-sync-send test case
Add a skip clause (eaddrnotavail on connect).
---
lib/kernel/test/gen_tcp_misc_SUITE.erl | 27 ++++++++++++++++++++++----
1 file changed, 23 insertions(+), 4 deletions(-)
diff --git a/lib/kernel/test/gen_tcp_misc_SUITE.erl b/lib/kernel/test/gen_tcp_misc_SUITE.erl
index d29348b404..8734aa5a8d 100644
--- a/lib/kernel/test/gen_tcp_misc_SUITE.erl
+++ b/lib/kernel/test/gen_tcp_misc_SUITE.erl
@@ -1316,10 +1316,23 @@ do_show_econnreset_passive(_Config) ->
{error, econnreset} = gen_tcp:recv(Client1, 0).
econnreset_after_sync_send(Config) when is_list(Config) ->
+ try do_econnreset_after_sync_send(Config)
+ catch
+ throw:{skip, _} = SKIP ->
+ SKIP
+ end.
+
+do_econnreset_after_sync_send(Config) ->
%% First confirm everything works with option turned off.
+ p("test with option switched off (default)"),
{ok, L} = gen_tcp:listen(0, [{active, false}]),
{ok, Port} = inet:port(L),
- {ok, Client} = gen_tcp:connect(localhost, Port, [{active, false}]),
+ Client = case gen_tcp:connect(localhost, Port, [{active, false}]) of
+ {ok, CSock} ->
+ CSock;
+ {error, eaddrnotavail = Reason} ->
+ skip(connect_failed_str(Reason))
+ end,
{ok, S} = gen_tcp:accept(L),
ok = gen_tcp:close(L),
ok = inet:setopts(S, [{linger, {true, 0}}]),
@@ -1328,11 +1341,17 @@ econnreset_after_sync_send(Config) when is_list(Config) ->
{error, closed} = gen_tcp:send(Client, "Whatever"),
%% Now test with option switched on.
+ p("test with option explicitly switched on"),
{ok, L1} = gen_tcp:listen(0, [{active, false}]),
{ok, Port1} = inet:port(L1),
- {ok, Client1} = gen_tcp:connect(localhost, Port1,
- [{active, false},
- {show_econnreset, true}]),
+ Client1 =
+ case gen_tcp:connect(localhost, Port1,
+ [{active, false}, {show_econnreset, true}]) of
+ {ok, CSock1} ->
+ CSock1;
+ {error, eaddrnotavail = Reason1} ->
+ skip(connect_failed_str(Reason1))
+ end,
{ok, S1} = gen_tcp:accept(L1),
ok = gen_tcp:close(L1),
ok = inet:setopts(S1, [{linger, {true, 0}}]),
--
2.26.2