diff options
| author | Daniil Fedotov <daniil@rabbitmq.com> | 2017-03-30 12:03:18 +0100 |
|---|---|---|
| committer | Gerhard Lazu <gerhard@rabbitmq.com> | 2017-03-30 12:03:18 +0100 |
| commit | 8b916e764013295370a4509fc84cb4c5b12dea1d (patch) | |
| tree | f052266d03817276108f44d10e5d9237e1db5d85 /test | |
| parent | bf9cb65478d7601e4990f70e76d7963e948b2c7e (diff) | |
| download | rabbitmq-server-git-8b916e764013295370a4509fc84cb4c5b12dea1d.tar.gz | |
Add tests to check for errors during node shutdown
Signed-off-by: Gerhard Lazu <gerhard@rabbitmq.com>
[finishes #142701219]
Diffstat (limited to 'test')
| -rw-r--r-- | test/rabbitmqctl_shutdown_SUITE.erl | 37 |
1 files changed, 21 insertions, 16 deletions
diff --git a/test/rabbitmqctl_shutdown_SUITE.erl b/test/rabbitmqctl_shutdown_SUITE.erl index 6f681a697b..d859521a22 100644 --- a/test/rabbitmqctl_shutdown_SUITE.erl +++ b/test/rabbitmqctl_shutdown_SUITE.erl @@ -11,7 +11,7 @@ %% The Original Code is RabbitMQ. %% %% The Initial Developer of the Original Code is GoPivotal, Inc. -%% Copyright (c) 2016 Pivotal Software, Inc. All rights reserved. +%% Copyright (c) 2017 Pivotal Software, Inc. All rights reserved. %% -module(rabbitmqctl_shutdown_SUITE). @@ -22,20 +22,15 @@ all() -> [ - {group, shutdown_running_node}%, - % {group, shutdown_not_running_node} + {group, running_node} ]. groups() -> - StopTests = [ - shutdown_fails_if_unable_to_contact_node, - shutdown_fails_if_unable_to_stop - ], [ - {shutdown_running_node, [], - % StopTests ++ - [shutdown_running_node_ok]}, - {shutdown_not_running_node, [], StopTests} + {running_node, [], [ + successful_shutdown, + error_during_shutdown + ]} ]. init_per_suite(Config) -> @@ -45,19 +40,19 @@ init_per_suite(Config) -> end_per_suite(Config) -> rabbit_ct_helpers:run_teardown_steps(Config). -init_per_group(shutdown_running_node, Config) -> +init_per_group(running_node, Config) -> rabbit_ct_helpers:set_config(Config, [ {rmq_nodename_suffix, ?MODULE}, {need_start, true} ]); -init_per_group(shutdown_not_running_node, Config) -> +init_per_group(non_running_node, Config) -> rabbit_ct_helpers:set_config(Config, [ {rmq_nodename_suffix, ?MODULE} ]). -end_per_group(shutdown_running_node, Config) -> +end_per_group(running_node, Config) -> rabbit_ct_helpers:run_teardown_steps(Config, []); -end_per_group(shutdown_not_running_node, Config) -> +end_per_group(non_running_node, Config) -> rabbit_ct_helpers:run_teardown_steps(Config, []). init_per_testcase(Testcase, Config0) -> @@ -85,13 +80,23 @@ save_node(Config) -> Node = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename), rabbit_ct_helpers:set_config(Config, [{node, Node}]). -shutdown_running_node_ok(Config) -> +successful_shutdown(Config) -> Node = ?config(node, Config), Pid = node_pid(Node), ok = rabbit_control_main:action(shutdown, Node, [], [], fun ct:pal/2), false = erlang_pid_is_running(Pid), false = node_is_running(Node). +error_during_shutdown(Config) -> + Node = ?config(node, Config), + ok = rabbit_control_main:action(stop_app, Node, [], [], fun ct:pal/2), + ok = rpc:call(Node, application, unload, [os_mon]), + + { + badrpc, {'EXIT', + {{error, {badmatch, {error,{edge,{bad_vertex,os_mon},os_mon,rabbit}}}}, _}} + } = rabbit_control_main:action(shutdown, Node, [], [], fun ct:pal/2). + node_pid(Node) -> Val = rpc:call(Node, os, getpid, []), true = is_list(Val), |
