aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssl/test/tls_api_SUITE.erl
diff options
context:
space:
mode:
authorIngela Anderton Andin <[email protected]>2019-07-25 15:37:08 +0200
committerIngela Anderton Andin <[email protected]>2019-07-26 14:44:57 +0200
commit393301feebfa2fe7839250541df25944c4d04697 (patch)
tree4017b449abcf84fe49b167c72e1ea7219c868e4c /lib/ssl/test/tls_api_SUITE.erl
parent1b395e9c4b3ac9becb504dd1cdc73c58c1c85b5a (diff)
downloadotp-393301feebfa2fe7839250541df25944c4d04697.tar.gz
otp-393301feebfa2fe7839250541df25944c4d04697.tar.bz2
otp-393301feebfa2fe7839250541df25944c4d04697.zip
ssl: Move reuseaddr test to tls_api_SUITE
Diffstat (limited to 'lib/ssl/test/tls_api_SUITE.erl')
-rw-r--r--lib/ssl/test/tls_api_SUITE.erl42
1 files changed, 41 insertions, 1 deletions
diff --git a/lib/ssl/test/tls_api_SUITE.erl b/lib/ssl/test/tls_api_SUITE.erl
index f0c3e93f37..5a74ec1892 100644
--- a/lib/ssl/test/tls_api_SUITE.erl
+++ b/lib/ssl/test/tls_api_SUITE.erl
@@ -73,7 +73,8 @@ api_tests() ->
tls_server_handshake_timeout,
transport_close,
emulated_options,
- accept_pool
+ accept_pool,
+ reuseaddr
].
init_per_suite(Config0) ->
@@ -720,7 +721,46 @@ accept_pool(Config) when is_list(Config) ->
ssl_test_lib:close(Client0),
ssl_test_lib:close(Client1),
ssl_test_lib:close(Client2).
+
+%%--------------------------------------------------------------------
+reuseaddr() ->
+ [{doc,"Test reuseaddr option"}].
+
+reuseaddr(Config) when is_list(Config) ->
+ ClientOpts = ssl_test_lib:ssl_options(client_rsa_opts, Config),
+ ServerOpts = ssl_test_lib:ssl_options(server_rsa_opts, Config),
+ {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config),
+ Server =
+ ssl_test_lib:start_server([{node, ServerNode}, {port, 0},
+ {from, self()},
+ {mfa, {ssl_test_lib, no_result, []}},
+ {options, [{active, false}, {reuseaddr, true}| ServerOpts]}]),
+ Port = ssl_test_lib:inet_port(Server),
+ Client =
+ ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {ssl_test_lib, no_result, []}},
+ {options, [{active, false} | ClientOpts]}]),
+ ssl_test_lib:close(Server),
+ ssl_test_lib:close(Client),
+ Server1 =
+ ssl_test_lib:start_server([{node, ServerNode}, {port, Port},
+ {from, self()},
+ {mfa, {ssl_test_lib, send_recv_result, []}},
+ {options, [{active, false}, {reuseaddr, true} | ServerOpts]}]),
+ Client1 =
+ ssl_test_lib:start_client([{node, ClientNode}, {port, Port},
+ {host, Hostname},
+ {from, self()},
+ {mfa, {ssl_test_lib, send_recv_result, []}},
+ {options, [{active, false} | ClientOpts]}]),
+
+ ssl_test_lib:check_result(Server1, ok, Client1, ok),
+ ssl_test_lib:close(Server1),
+ ssl_test_lib:close(Client1).
+
%%--------------------------------------------------------------------
%% Internal functions ------------------------------------------------
%%--------------------------------------------------------------------