mirror of
https://github.com/valitydev/riak_test.git
synced 2024-11-06 16:45:29 +00:00
161 lines
6.2 KiB
Plaintext
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}]}
|
|
]}
|
|
]}.
|