From 1e27864b145d6411fcb0c7c4c41c18acc289174b Mon Sep 17 00:00:00 2001 From: Ingela Anderton Andin Date: Fri, 9 Apr 2010 10:07:27 +0000 Subject: Removed need of sleep better to synchronize if possible. --- lib/ssl/test/ssl_basic_SUITE.erl | 30 ------------------------------ lib/ssl/test/ssl_test_lib.erl | 26 ++++++++++++++++++++++---- 2 files changed, 22 insertions(+), 34 deletions(-) (limited to 'lib/ssl') diff --git a/lib/ssl/test/ssl_basic_SUITE.erl b/lib/ssl/test/ssl_basic_SUITE.erl index faf62bd9e9..68970b6693 100644 --- a/lib/ssl/test/ssl_basic_SUITE.erl +++ b/lib/ssl/test/ssl_basic_SUITE.erl @@ -1074,8 +1074,6 @@ eoptions(Config) when is_list(Config) -> ssl_test_lib:check_result(Server0, {error, {eoptions, {active,trice}}}, Client0, {error, {eoptions, {active,trice}}}), - test_server:sleep(?SLEEP), - Server1 = ssl_test_lib:start_server_error([{node, ServerNode}, {port, Port}, {from, self()}, @@ -1087,9 +1085,6 @@ eoptions(Config) when is_list(Config) -> {options, [{header, a} | ClientOpts]}]), ssl_test_lib:check_result(Server1, {error, {eoptions, {header, a}}}, Client1, {error, {eoptions, {header, a}}}), - - test_server:sleep(?SLEEP), - Server2 = ssl_test_lib:start_server_error([{node, ServerNode}, {port, Port}, @@ -1104,9 +1099,6 @@ eoptions(Config) when is_list(Config) -> ssl_test_lib:check_result(Server2, {error, {eoptions, {mode, a}}}, Client2, {error, {eoptions, {mode, a}}}), - - test_server:sleep(?SLEEP), - Server3 = ssl_test_lib:start_server_error([{node, ServerNode}, {port, Port}, {from, self()}, @@ -1118,8 +1110,6 @@ eoptions(Config) when is_list(Config) -> {options, [{packet, 8.0} | ClientOpts]}]), ssl_test_lib:check_result(Server3, {error, {eoptions, {packet, 8.0}}}, Client3, {error, {eoptions, {packet, 8.0}}}), - - test_server:sleep(?SLEEP), %% ssl Server4 = @@ -1133,8 +1123,6 @@ eoptions(Config) when is_list(Config) -> {options, [{verify, 4} | ClientOpts]}]), ssl_test_lib:check_result(Server4, {error, {eoptions, {verify, 4}}}, Client4, {error, {eoptions, {verify, 4}}}), - - test_server:sleep(?SLEEP), Server5 = ssl_test_lib:start_server_error([{node, ServerNode}, {port, Port}, @@ -1147,8 +1135,6 @@ eoptions(Config) when is_list(Config) -> {options, [{depth, four} | ClientOpts]}]), ssl_test_lib:check_result(Server5, {error, {eoptions, {depth, four}}}, Client5, {error, {eoptions, {depth, four}}}), - - test_server:sleep(?SLEEP), Server6 = ssl_test_lib:start_server_error([{node, ServerNode}, {port, Port}, @@ -1162,9 +1148,6 @@ eoptions(Config) when is_list(Config) -> ssl_test_lib:check_result(Server6, {error, {eoptions, {cacertfile, ""}}}, Client6, {error, {eoptions, {cacertfile, ""}}}), - - test_server:sleep(?SLEEP), - Server7 = ssl_test_lib:start_server_error([{node, ServerNode}, {port, Port}, {from, self()}, @@ -1178,8 +1161,6 @@ eoptions(Config) when is_list(Config) -> {error, {eoptions, {certfile, 'cert.pem'}}}, Client7, {error, {eoptions, {certfile, 'cert.pem'}}}), - test_server:sleep(?SLEEP), - Server8 = ssl_test_lib:start_server_error([{node, ServerNode}, {port, Port}, {from, self()}, @@ -1192,8 +1173,6 @@ eoptions(Config) when is_list(Config) -> ssl_test_lib:check_result(Server8, {error, {eoptions, {keyfile, 'key.pem'}}}, Client8, {error, {eoptions, {keyfile, 'key.pem'}}}), - - test_server:sleep(?SLEEP), Server9 = ssl_test_lib:start_server_error([{node, ServerNode}, {port, Port}, @@ -1207,9 +1186,6 @@ eoptions(Config) when is_list(Config) -> ssl_test_lib:check_result(Server9, {error, {eoptions, {key, 'key.pem'}}}, Client9, {error, {eoptions, {key, 'key.pem'}}}), - - test_server:sleep(?SLEEP), - Server10 = ssl_test_lib:start_server_error([{node, ServerNode}, {port, Port}, {from, self()}, @@ -1221,9 +1197,6 @@ eoptions(Config) when is_list(Config) -> {options, [{password, foo} | ClientOpts]}]), ssl_test_lib:check_result(Server10, {error, {eoptions, {password, foo}}}, Client10, {error, {eoptions, {password, foo}}}), - - test_server:sleep(?SLEEP), - %% Misc Server11 = ssl_test_lib:start_server_error([{node, ServerNode}, {port, Port}, @@ -1237,9 +1210,6 @@ eoptions(Config) when is_list(Config) -> ssl_test_lib:check_result(Server11, {error, {eoptions, {ssl_imp, cool}}}, Client11, {error, {eoptions, {ssl_imp, cool}}}), - - test_server:sleep(?SLEEP), - Server12 = ssl_test_lib:start_server_error([{node, ServerNode}, {port, Port}, {from, self()}, diff --git a/lib/ssl/test/ssl_test_lib.erl b/lib/ssl/test/ssl_test_lib.erl index 51a8e1a95c..466e987e3e 100644 --- a/lib/ssl/test/ssl_test_lib.erl +++ b/lib/ssl/test/ssl_test_lib.erl @@ -52,7 +52,11 @@ node_to_hostip(Node) -> Address. start_server(Args) -> - spawn_link(?MODULE, run_server, [Args]). + Result = spawn_link(?MODULE, run_server, [Args]), + receive + {listen, up} -> + Result + end. run_server(Opts) -> Node = proplists:get_value(node, Opts), @@ -61,6 +65,7 @@ run_server(Opts) -> Pid = proplists:get_value(from, Opts), test_server:format("ssl:listen(~p, ~p)~n", [Port, Options]), {ok, ListenSocket} = rpc:call(Node, ssl, listen, [Port, Options]), + Pid ! {listen, up}, case Port of 0 -> {ok, {_, NewPort}} = ssl:sockname(ListenSocket), @@ -298,7 +303,11 @@ cert_options(Config) -> start_upgrade_server(Args) -> - spawn_link(?MODULE, run_upgrade_server, [Args]). + Result = spawn_link(?MODULE, run_upgrade_server, [Args]), + receive + {listen, up} -> + Result + end. run_upgrade_server(Opts) -> Node = proplists:get_value(node, Opts), @@ -310,6 +319,7 @@ run_upgrade_server(Opts) -> test_server:format("gen_tcp:listen(~p, ~p)~n", [Port, TcpOptions]), {ok, ListenSocket} = rpc:call(Node, gen_tcp, listen, [Port, TcpOptions]), + Pid ! {listen, up}, case Port of 0 -> @@ -383,7 +393,11 @@ run_upgrade_client(Opts) -> end. start_server_error(Args) -> - spawn_link(?MODULE, run_server_error, [Args]). + Result = spawn_link(?MODULE, run_server_error, [Args]), + receive + {listen, up} -> + Result + end. run_server_error(Opts) -> Node = proplists:get_value(node, Opts), @@ -393,8 +407,9 @@ run_server_error(Opts) -> test_server:format("ssl:listen(~p, ~p)~n", [Port, Options]), case rpc:call(Node, ssl, listen, [Port, Options]) of {ok, ListenSocket} -> - test_server:sleep(2000), %% To make sure error_client will + %% To make sure error_client will %% get {error, closed} and not {error, connection_refused} + Pid ! {listen, up}, test_server:format("ssl:transport_accept(~p)~n", [ListenSocket]), case rpc:call(Node, ssl, transport_accept, [ListenSocket]) of {error, _} = Error -> @@ -405,6 +420,9 @@ run_server_error(Opts) -> Pid ! {self(), Error} end; Error -> + %% Not really true but as this is an error test + %% this is what we want. + Pid ! {listen, up}, Pid ! {self(), Error} end. -- cgit v1.2.3