aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorjuhlig <[email protected]>2020-04-02 14:16:41 +0200
committerjuhlig <[email protected]>2020-04-02 14:16:41 +0200
commit821937cea1a9afacd2dc2448440ad6f64d3a29f1 (patch)
treec866f0794c0a9185a4309a90de3001f08e3daee9 /test
parentd9b833fcc9e862399e0e0e8aa624c611d71aaaed (diff)
downloadranch-821937cea1a9afacd2dc2448440ad6f64d3a29f1.tar.gz
ranch-821937cea1a9afacd2dc2448440ad6f64d3a29f1.tar.bz2
ranch-821937cea1a9afacd2dc2448440ad6f64d3a29f1.zip
Delete possibly existing socket file when listening on a local socket
Diffstat (limited to 'test')
-rw-r--r--test/acceptor_SUITE.erl23
1 files changed, 21 insertions, 2 deletions
diff --git a/test/acceptor_SUITE.erl b/test/acceptor_SUITE.erl
index ce1293a..19b7057 100644
--- a/test/acceptor_SUITE.erl
+++ b/test/acceptor_SUITE.erl
@@ -76,7 +76,8 @@ groups() ->
misc_info_embedded,
misc_opts_logger,
misc_set_transport_options,
- misc_wait_for_connections
+ misc_wait_for_connections,
+ misc_multiple_ips_in_listen_opts
]}, {supervisor, [
connection_type_supervisor,
connection_type_supervisor_separate_from_connection,
@@ -404,6 +405,24 @@ do_expect_waiter(WaiterPid) ->
end
end.
+misc_multiple_ips_in_listen_opts(_) ->
+ case do_os_supports_local_sockets() of
+ true ->
+ do_misc_multiple_ips_in_listen_opts();
+ false ->
+ {skip, "No local socket support."}
+ end.
+
+do_misc_multiple_ips_in_listen_opts() ->
+ doc("Ensure that a listener uses the expected ip option if multiple are given."),
+ Name = name(),
+ SockFile1 = do_tempname(),
+ SockFile2 = do_tempname(),
+ Opts = [{ip, {local, SockFile1}}, {ip, {local, SockFile2}}],
+ {ok, _} = ranch:start_listener(Name, ranch_tcp, #{socket_opts => Opts}, echo_protocol, []),
+ {local, SockFile2} = ranch:get_addr(Name),
+ ok = ranch:stop_listener(Name).
+
%% ssl.
ssl_accept_error(_) ->
@@ -1586,4 +1605,4 @@ do_os_supports_local_sockets() ->
end.
do_tempname() ->
- lists:droplast(os:cmd("mktemp -u")).
+ list_to_binary(lists:droplast(os:cmd("mktemp -u"))).