forked from basho/riak_test
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathriak_test.config
160 lines (135 loc) · 6.19 KB
/
riak_test.config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
%% -*- 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}]}
]}
]}.