From e69fca9904d4e24adffcf74e3afe84a0f2bb1451 Mon Sep 17 00:00:00 2001 From: Darach Ennis Date: Fri, 20 Mar 2015 17:58:54 +0000 Subject: [PATCH] Make default riak services and console configurable --- examples/riak_test.config | 11 +++++++++++ src/rt.erl | 15 +++++++++------ 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/examples/riak_test.config b/examples/riak_test.config index d5d950894..8bb14e483 100644 --- a/examples/riak_test.config +++ b/examples/riak_test.config @@ -46,6 +46,17 @@ %% scripts in the bin/ directory. {rt_harness, rtdev}, + %% The riak test environment can ensure that a default set of riak + %% services are started. The set of services can be configured by + %% configuring the desired set of services. To alter the default + %% enable and configure the following variable + %% {rt_services, [riak_kv]}, + + %% The riak test environment integreates with riak_kv_console by + %% default. To override this for other riak_core based apps uncomment + %% and configure teh following variable + %% {rt_console, riak_kv_console}, + %% The scratch directory specifies where riak_test will put %% temporary testing artifacts like client packages, git %% checkouts, etc. diff --git a/src/rt.erl b/src/rt.erl index 0696eecf2..0d12720a1 100644 --- a/src/rt.erl +++ b/src/rt.erl @@ -27,6 +27,9 @@ -include("rt.hrl"). -include_lib("eunit/include/eunit.hrl"). +-define(SERVICES,rt_config:get(rt_services, [riak_kv])). +-define(CONSOLE, rt_config:get(rt_console, riak_kv_console)). + -compile(export_all). -export([ admin/2, @@ -299,7 +302,7 @@ get_https_conn_info(Node) -> %% nodes deployed. %% @todo Re-add -spec after adding multi-version support deploy_nodes(Versions) when is_list(Versions) -> - deploy_nodes(Versions, [riak_kv]); + deploy_nodes(Versions, ?SERVICES); deploy_nodes(NumNodes) when is_integer(NumNodes) -> deploy_nodes([ current || _ <- lists:seq(1, NumNodes)]). @@ -307,7 +310,7 @@ deploy_nodes(NumNodes) when is_integer(NumNodes) -> %% `InitialConfig', returning a list of the nodes deployed. -spec deploy_nodes(NumNodes :: integer(), any()) -> [node()]. deploy_nodes(NumNodes, InitialConfig) when is_integer(NumNodes) -> - deploy_nodes(NumNodes, InitialConfig, [riak_kv]); + deploy_nodes(NumNodes, InitialConfig, ?SERVICES); deploy_nodes(Versions, Services) -> NodeConfig = [ version_to_config(Version) || Version <- Versions ], Nodes = ?HARNESS:deploy_nodes(NodeConfig), @@ -462,11 +465,11 @@ leave(Node) -> %% @doc Have `Node' remove `OtherNode' from the cluster remove(Node, OtherNode) -> ?assertEqual(ok, - rpc:call(Node, riak_kv_console, remove, [[atom_to_list(OtherNode)]])). + rpc:call(Node, ?CONSOLE, remove, [[atom_to_list(OtherNode)]])). %% @doc Have `Node' mark `OtherNode' as down down(Node, OtherNode) -> - rpc:call(Node, riak_kv_console, down, [[atom_to_list(OtherNode)]]). + rpc:call(Node, ?CONSOLE, down, [[atom_to_list(OtherNode)]]). %% @doc partition the `P1' from `P2' nodes %% note: the nodes remained connected to riak_test@local, @@ -652,7 +655,7 @@ wait_until_status_ready(Node) -> lager:info("Wait until status ready in ~p", [Node]), ?assertEqual(ok, wait_until(Node, fun(_) -> - case rpc:call(Node, riak_kv_console, status, [[]]) of + case rpc:call(Node, ?CONSOLE, status, [[]]) of ok -> true; Res -> @@ -826,7 +829,7 @@ wait_until_partitioned(P1, P2) -> end || Node <- P2 ]. is_partitioned(Node, Peers) -> - AvailableNodes = rpc:call(Node, riak_core_node_watcher, nodes, [riak_kv]), + AvailableNodes = rpc:call(Node, riak_core_node_watcher, nodes, ?SERVICES), lists:all(fun(Peer) -> not lists:member(Peer, AvailableNodes) end, Peers). % when you just can't wait