riak_test/riak_test.config.sample
2014-01-24 15:42:34 -05:00

161 lines
6.2 KiB
Plaintext

%% -*- mode: erlang;erlang-indent-level: 4;indent-tabs-mode: nil -*-
%% ===============================================================
%% Global configurations
%% ===============================================================
%% This section contains the configuration variables that will be
%% applied to all tests.
{default, [
%% GiddyUp settings: If your tester needs to report results or
%% fetch a test suite from GiddyUp, set these configs. The
%% canonical GiddyUp host is currently giddyup.basho.com.
%% Authentication is required to post results, so ask someone on
%% Testing/Tools for the credentials if you need them.
{giddyup_host, "localhost:5000"},
{giddyup_user, "user"},
{giddyup_password, "password"},
%% The symbolic platform name used for reporting and fetching the
%% suite. You won't likely need this unless you are actually
%% submitting results to the scorecard, like on an automated
%% builder. Typically this is in the format
%% "NAME-VERSION-ARCHITECTURE". See GiddyUp for valid platform
%% names.
{platform, "osx-64"},
%% riak_test includes various wait_for_X functions that will
%% repeatedly test for specific conditions until they are
%% satisfied. `rt_max_wait_time' specifies the maximum length, in
%% milliseconds, that any condition can wait. `rt_retry_delay'
%% specifies the time, in milliseconds, that will be between each
%% test of the wait condition. On slower machines, these values
%% should be increased.
{rt_max_wait_time, 600000},
{rt_retry_delay, 1000},
%% How long to let any test run before killing it, undefined means no limit.
%% Valid timeouts are in milliseconds.
{test_timeout, undefined},
%% The harness specifies how Riak nodes under test will be
%% manipulated. There is currently only `rtdev', which uses local
%% `devrel's inside a git repository. In the future, we may have
%% harnesses that use SSH to connect to remote virtual machines.
%% To set up the `rtdev' harness for the first time, use the shell
%% scripts in the bin/ directory.
{rt_harness, rtdev},
%% The scratch directory specifies where riak_test will put
%% temporary testing artifacts like client packages, git
%% checkouts, etc.
{rt_scratch_dir, "/tmp/riak_test_scratch"},
%% The path to a prebuilt copy of basho_bench that tests can
%% invoke. This was previously used in the `loaded_upgrade' test.
{basho_bench, "/Users/dparfitt/basho/basho_bench"},
%% The path to a corpus of spam emails to be used when testing
%% Riak Search. This is typically expanded from the tarball
%% included in riak_test.
{spam_dir, "/Users/dparfitt/riak_test/search-corpus/spam.0"},
%% The number of workers-per-node to spawn when executing the
%% `loaded_upgrade' test. If unspecified, this will default to
%% `10'. For older/slower machines, use a lower number to avoid
%% unexpected node crashes.
{load_workers, 10},
%% lager_level defaults to info, which is should mean
%% "relevant test output". debug level output is for helping
%% test writers.
{lager_level, info}
]}.
%% ===============================================================
%% Project-specific configurations
%% ===============================================================
%% Specify which configuration/project to apply using the `-c' flag
%% when running `riak_test'.
%% Sample project for Riak open-source.
{rtdev, [
%% The name of the project/product, used when fetching the test
%% suite and reporting.
{rt_project, "riak"},
%% Paths to the locations of various versions of the project. This
%% is only valid for the `rtdev' harness.
{rtdev_path, [
%% This is the root of the built `rtdev' repository,
%% used for manipulating the repo with git. All
%% versions should be inside this directory.
{root, "/Users/dparfitt/rt/riak"},
%% The path to the `current' version, which is used
%% exclusively except during upgrade tests.
{current, "/Users/dparfitt/rt/riak/current"},
%% The path to the most immediately previous version
%% of the project, which is used when doing upgrade
%% tests.
{previous, "/Users/dparfitt/rt/riak/riak-1.2.1"},
%% The path to the version before `previous', which
%% is used when doing upgrade tests.
{legacy, "/Users/dparfitt/rt/riak/riak-1.1.4"}
]}
]}.
%% Sample project for Riak EDS ("EE").
{rtee, [
%% [See rtdev.rt_project above]
{rt_project, "riak_ee"},
%% Specific to replication tests, the size of the "A" cluster, or
%% "source".
{cluster_a_size, 3},
%% The total number of nodes to deploy in replication tests.
{num_nodes, 6},
%% Which order to upgrade nodes in the cluster when doing the
%% `replication_upgrade' test. Valid values are:
%% * "forwards" - from 1 to 6
%% * "backwards" - from 6 to 1
%% * "alternate" - e.g. 1, 4, 2, 5, 3, 6
%% * "random" - shuffles the list
{repl_upgrade_order, "forwards"},
%% [See rtdev.rtdev_path above]
{rtdev_path, [{root, "/Users/dparfitt/rt/riak_ee"},
{current, "/Users/dparfitt/rt/riak_ee/current"},
{previous, "/Users/dparfitt/rt/riak_ee/riak_ee-1.2.1"},
{legacy, "/Users/dparfitt/rt/riak_ee/riak_ee-1.1.4"}
]}
]}.
%% Sample project to demonstrate use of local configs for the
%% "intercepts" feature. Generally, all intercepts are installed into
%% deployed nodes, but not activated.
{intercept_example,
[
%% Whether to load intercept modules into nodes that are deployed.
%% `true' by default.
{load_intercepts, true},
%% Which intercepts to load. See the README for more detailed
%% documentation about intercepts.
{intercepts,
[
%% The intercepts take the form of:
%%
%% {ModuleToIntercept::module(), [
%% {{FunctionToIntercept::atom(), Arity::non_neg_integer()},
%% ReplacementFunction::atom()}
%% ]}
{riak_kv_vnode, [{{put,7}, dropped_put}]}
]}
]}.