diff options
author | juhlig <[email protected]> | 2020-02-24 11:01:51 +0100 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2020-02-24 11:53:35 +0100 |
commit | 9cc188373fa37c22cf53e85fd43dbab524c32f55 (patch) | |
tree | 2bf099d2eb118d2bc54f37eb81db92346a1ddbcd /test | |
parent | f5a8b9ba7eb8bc6afa2a4e6394ce702c891a71ed (diff) | |
download | ranch-9cc188373fa37c22cf53e85fd43dbab524c32f55.tar.gz ranch-9cc188373fa37c22cf53e85fd43dbab524c32f55.tar.bz2 ranch-9cc188373fa37c22cf53e85fd43dbab524c32f55.zip |
Replace havoc with stampede
Diffstat (limited to 'test')
-rw-r--r-- | test/stampede_SUITE.erl (renamed from test/havoc_SUITE.erl) | 63 |
1 files changed, 39 insertions, 24 deletions
diff --git a/test/havoc_SUITE.erl b/test/stampede_SUITE.erl index db8969f..3a572ca 100644 --- a/test/havoc_SUITE.erl +++ b/test/stampede_SUITE.erl @@ -12,7 +12,7 @@ %% ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF %% OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. --module(havoc_SUITE). +-module(stampede_SUITE). -compile(export_all). -compile(nowarn_export_all). @@ -26,21 +26,23 @@ all() -> init_per_suite(Config) -> {ok, _} = application:ensure_all_started(ranch), - ok = application:start(havoc), + ok = application:start(stampede), %% Enable logging of progress reports. %% They will only be available in the HTML reports by default. - ok = logger:set_primary_config(level, info), + ok = logger:set_primary_config(level, none), + ok = logger:set_module_level(?MODULE, info), + ok = logger:set_application_level(stampede, error), Config. end_per_suite(_) -> - ok = application:stop(havoc), + ok = application:stop(stampede), ok = application:stop(ranch). %% Tests. -havoc_tcp(_) -> +stampede_tcp(_) -> doc("Start a TCP listener, establish a hundred connections, " - "run havoc, confirm we can still connect."), + "run stampede, confirm we can still connect."), %% Start a TCP listener. Name = name(), {ok, _} = ranch:start_listener(Name, @@ -50,19 +52,20 @@ havoc_tcp(_) -> ok = do_connect(100, ranch_tcp, ranch:get_port(Name), 1000), %% Set restart frequency of ranch_sup. do_set_sup_frequencies([ranch_sup], 999999, 1), - %% Run Havoc. - havoc:on([{avg_wait, 100}, {deviation, 0}, {applications, [ranch]}, - {supervisors, [ranch_sup]}, supervisor, {prekill_callback, fun do_log/1}]), + %% Run stampede. + {ok, _} = stampede:start_herd(ranch_stampede, {application, ranch}, + #{interval => {100, 100}, before_kill => fun do_log/1}), + ok = stampede:activate(ranch_stampede), timer:sleep(10000), - havoc:off(), + ok = stampede:stop_herd(ranch_stampede), timer:sleep(1000), %% Confirm we can still connect. ok = do_connect(1, ranch_tcp, ranch:get_port(Name), 1000), ok = ranch:stop_listener(Name). -havoc_ssl(_) -> +stampede_ssl(_) -> doc("Start a SSL listener, establish a hundred connections, " - "run havoc, confirm we can still connect."), + "run stampede, confirm we can still connect."), %% Start a TCP listener. Name = name(), {ok, _} = ranch:start_listener(Name, @@ -72,19 +75,24 @@ havoc_ssl(_) -> ok = do_connect(100, ranch_ssl, ranch:get_port(Name), 1000), %% Set restart frequencies of ranch_sup and ssl_sup. do_set_sup_frequencies([ranch_sup, ssl_sup], 999999, 1), - %% Run Havoc. - havoc:on([{avg_wait, 100}, {deviation, 0}, {applications, [ranch]}, {otp_applications, [ssl]}, - {supervisors, [ssl_sup]}, supervisor, {prekill_callback, fun do_log/1}]), + %% Run stampede. + {ok, _} = stampede:start_herd(ranch_stampede, {application, ranch}, + #{interval => {100, 100}, before_kill => fun do_log/1}), + {ok, _} = stampede:start_herd(ssl_stampede, {application, ssl}, + #{interval => {100, 100}, before_kill => fun do_log/1}), + ok = stampede:activate(ranch_stampede), + ok = stampede:activate(ssl_stampede), timer:sleep(10000), - havoc:off(), + ok = stampede:stop_herd(ssl_stampede), + ok = stampede:stop_herd(ranch_stampede), timer:sleep(1000), %% Confirm we can still connect. ok = do_connect(1, ranch_ssl, ranch:get_port(Name), 1000), ok = ranch:stop_listener(Name). -havoc_embedded(_) -> +stampede_embedded(_) -> doc("Start an embedded TCP listener, establish a hundred connections, " - "run havoc, confirm we can still connect."), + "run stampede, confirm we can still connect."), %% Start embedded listener. Name = name(), {ok, SupPid} = embedded_sup:start_link(), @@ -94,11 +102,16 @@ havoc_embedded(_) -> ok = do_connect(100, ranch_tcp, ranch:get_port(Name), 1000), %% Set restart frequency of ranch_sup and embedded_sup. do_set_sup_frequencies([ranch_sup, SupPid], 999999, 1), - %% Run havoc. - havoc:on([{avg_wait, 100}, {deviation, 0}, {applications, [ranch]}, - {supervisors, [SupPid]}, supervisor, {prekill_callback, fun do_log/1}]), + %% Run stampede. + {ok, _} = stampede:start_herd(ranch_stampede, {application, ranch}, + #{interval => {100, 100}, before_kill => fun do_log/1}), + {ok, _} = stampede:start_herd(embedded_stampede, {supervisor, SupPid}, + #{interval => {100, 100}, before_kill => fun do_log/1}), + ok = stampede:activate(ranch_stampede), + ok = stampede:activate(embedded_stampede), timer:sleep(10000), - havoc:off(), + ok = stampede:stop_herd(ranch_stampede), + ok = stampede:stop_herd(embedded_stampede), timer:sleep(1000), %% Confirm we can still connect. ok = do_connect(1, ranch_tcp, ranch:get_port(Name), 1000), @@ -118,6 +131,8 @@ do_connect(N, Transport, Port, Timeout) -> do_connect(N - 1, Transport, Port, Timeout). do_log(Pid) when is_pid(Pid) -> - logger:info("~p~n", [erlang:process_info(Pid)]); + ct:log(info, "~p: ~p~n", [Pid, erlang:process_info(Pid)]), + true; do_log(Port) when is_port(Port) -> - logger:info("~p~n", [erlang:port_info(Port)]). + ct:log(info, "~p: ~p~n", [Port, erlang:port_info(Port)]), + true. |