Tests: add rabbitmq_diagnostics to test helpers
This commit is contained in:
parent
cc0458a139
commit
c0bd1f5202
|
@ -35,7 +35,7 @@
|
||||||
|
|
||||||
control_action/2, control_action/3, control_action/4,
|
control_action/2, control_action/3, control_action/4,
|
||||||
rabbitmqctl/3, rabbitmqctl/4, rabbitmqctl_list/3,
|
rabbitmqctl/3, rabbitmqctl/4, rabbitmqctl_list/3,
|
||||||
rabbitmq_queues/3,
|
rabbitmq_queues/3, rabbitmq_diagnostics/3,
|
||||||
|
|
||||||
add_code_path_to_node/2,
|
add_code_path_to_node/2,
|
||||||
add_code_path_to_all_nodes/2,
|
add_code_path_to_all_nodes/2,
|
||||||
|
@ -219,6 +219,7 @@ setup_steps() ->
|
||||||
fun rabbit_ct_helpers:ensure_rabbitmqctl_cmd/1,
|
fun rabbit_ct_helpers:ensure_rabbitmqctl_cmd/1,
|
||||||
fun rabbit_ct_helpers:ensure_rabbitmqctl_app/1,
|
fun rabbit_ct_helpers:ensure_rabbitmqctl_app/1,
|
||||||
fun rabbit_ct_helpers:ensure_rabbitmq_plugins_cmd/1,
|
fun rabbit_ct_helpers:ensure_rabbitmq_plugins_cmd/1,
|
||||||
|
fun rabbit_ct_helpers:ensure_rabbitmq_diagnostics_cmd/1,
|
||||||
fun set_lager_flood_limit/1,
|
fun set_lager_flood_limit/1,
|
||||||
fun configure_metadata_store/1,
|
fun configure_metadata_store/1,
|
||||||
fun start_rabbitmq_nodes/1,
|
fun start_rabbitmq_nodes/1,
|
||||||
|
@ -229,6 +230,7 @@ setup_steps() ->
|
||||||
fun rabbit_ct_helpers:ensure_rabbitmqctl_cmd/1,
|
fun rabbit_ct_helpers:ensure_rabbitmqctl_cmd/1,
|
||||||
fun rabbit_ct_helpers:load_rabbitmqctl_app/1,
|
fun rabbit_ct_helpers:load_rabbitmqctl_app/1,
|
||||||
fun rabbit_ct_helpers:ensure_rabbitmq_plugins_cmd/1,
|
fun rabbit_ct_helpers:ensure_rabbitmq_plugins_cmd/1,
|
||||||
|
fun rabbit_ct_helpers:ensure_rabbitmq_diagnostics_cmd/1,
|
||||||
fun set_lager_flood_limit/1,
|
fun set_lager_flood_limit/1,
|
||||||
fun configure_metadata_store/1,
|
fun configure_metadata_store/1,
|
||||||
fun start_rabbitmq_nodes/1,
|
fun start_rabbitmq_nodes/1,
|
||||||
|
@ -1565,6 +1567,21 @@ rabbitmq_queues(Config, Node, Args) ->
|
||||||
Cmd = [RabbitmqQueues, "-n", Nodename | Args],
|
Cmd = [RabbitmqQueues, "-n", Nodename | Args],
|
||||||
rabbit_ct_helpers:exec(Cmd, [{env, Env}]).
|
rabbit_ct_helpers:exec(Cmd, [{env, Env}]).
|
||||||
|
|
||||||
|
rabbitmq_diagnostics(Config, Node, Args) ->
|
||||||
|
Rabbitmqdiagnostics = ?config(rabbitmq_diagnostics_cmd, Config),
|
||||||
|
NodeConfig = get_node_config(Config, Node),
|
||||||
|
Nodename = ?config(nodename, NodeConfig),
|
||||||
|
Env = [
|
||||||
|
{"RABBITMQ_SCRIPTS_DIR", filename:dirname(Rabbitmqdiagnostics)},
|
||||||
|
{"RABBITMQ_PID_FILE", ?config(pid_file, NodeConfig)},
|
||||||
|
{"RABBITMQ_MNESIA_DIR", ?config(data_dir, NodeConfig)},
|
||||||
|
{"RABBITMQ_PLUGINS_DIR", ?config(plugins_dir, NodeConfig)},
|
||||||
|
{"RABBITMQ_ENABLED_PLUGINS_FILE",
|
||||||
|
?config(enabled_plugins_file, NodeConfig)}
|
||||||
|
],
|
||||||
|
Cmd = [Rabbitmqdiagnostics, "-n", Nodename | Args],
|
||||||
|
rabbit_ct_helpers:exec(Cmd, [{env, Env}]).
|
||||||
|
|
||||||
%% -------------------------------------------------------------------
|
%% -------------------------------------------------------------------
|
||||||
%% Other helpers.
|
%% Other helpers.
|
||||||
%% -------------------------------------------------------------------
|
%% -------------------------------------------------------------------
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
load_rabbitmqctl_app/1,
|
load_rabbitmqctl_app/1,
|
||||||
ensure_rabbitmq_plugins_cmd/1,
|
ensure_rabbitmq_plugins_cmd/1,
|
||||||
ensure_rabbitmq_queues_cmd/1,
|
ensure_rabbitmq_queues_cmd/1,
|
||||||
|
ensure_rabbitmq_diagnostics_cmd/1,
|
||||||
redirect_logger_to_ct_logs/1,
|
redirect_logger_to_ct_logs/1,
|
||||||
init_skip_as_error_flag/1,
|
init_skip_as_error_flag/1,
|
||||||
start_long_running_testsuite_monitor/1,
|
start_long_running_testsuite_monitor/1,
|
||||||
|
@ -595,6 +596,41 @@ ensure_rabbitmq_queues_cmd(Config) ->
|
||||||
end
|
end
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
ensure_rabbitmq_diagnostics_cmd(Config) ->
|
||||||
|
RabbitmqDiagnostics = case get_config(Config, rabbitmq_diagnostics_cmd) of
|
||||||
|
undefined ->
|
||||||
|
case os:getenv("RABBITMQ_DIAGNOSTICS") of
|
||||||
|
false -> find_script(Config, "rabbitmq-diagnostics");
|
||||||
|
R -> R
|
||||||
|
end;
|
||||||
|
R ->
|
||||||
|
ct:log(?LOW_IMPORTANCE,
|
||||||
|
"Using rabbitmq-diagnostics from rabbitmq_diagnostics_cmd: ~tp~n", [R]),
|
||||||
|
R
|
||||||
|
end,
|
||||||
|
Error = {skip, "rabbitmq-diagnostics required, " ++
|
||||||
|
"please set 'rabbitmq_diagnostics_cmd' in ct config"},
|
||||||
|
case RabbitmqDiagnostics of
|
||||||
|
false ->
|
||||||
|
Error;
|
||||||
|
_ ->
|
||||||
|
Cmd = [RabbitmqDiagnostics],
|
||||||
|
Env = [
|
||||||
|
{"RABBITMQ_SCRIPTS_DIR", filename:dirname(RabbitmqDiagnostics)}
|
||||||
|
],
|
||||||
|
case exec(Cmd, [drop_stdout, {env, Env}]) of
|
||||||
|
{error, 64, _} ->
|
||||||
|
set_config(Config,
|
||||||
|
{rabbitmq_diagnostics_cmd,
|
||||||
|
RabbitmqDiagnostics});
|
||||||
|
{error, Code, Reason} ->
|
||||||
|
ct:pal("Exec failed with exit code ~tp: ~tp", [Code, Reason]),
|
||||||
|
Error;
|
||||||
|
_ ->
|
||||||
|
Error
|
||||||
|
end
|
||||||
|
end.
|
||||||
|
|
||||||
ensure_ssl_certs(Config) ->
|
ensure_ssl_certs(Config) ->
|
||||||
SrcDir = ?config(rabbitmq_ct_helpers_srcdir, Config),
|
SrcDir = ?config(rabbitmq_ct_helpers_srcdir, Config),
|
||||||
UniqueDir = io_lib:format(
|
UniqueDir = io_lib:format(
|
||||||
|
|
Loading…
Reference in New Issue