riak_test/README.md

101 lines
3.7 KiB
Markdown
Raw Normal View History

2012-08-15 17:27:32 +00:00
# Riak Test
## Bootstraping Your Test Environment
2012-09-17 21:16:59 +00:00
Welcome to the exciting world of riak_test. Running tests against a
development version of Riak is just one of the things that you can do
with riak_test. You can also test things involving upgrading from
previous versions of Riak. Together, we'll get your test environment
up and running. Scripts to help in this process are located in the
`bin` directory of this project.
2012-09-17 21:26:47 +00:00
### rtdev-all.sh
2012-09-17 23:28:32 +00:00
This script is for the lazy. It performs all of the setup steps described
in the other scripts, including installing the current "master" branch from
2012-09-17 21:26:47 +00:00
Github into "current". The releases will be built in `/tmp/rt-builds`
and installed into `/tmp/rt`.
### rtdev-build-releases.sh
2012-09-17 21:16:59 +00:00
The first one that we want to look at is `rtdev-build-releases.sh`. If
left unchanged, this script is going to do the following:
1. Download the source for the past three major Riak versions (e.g.
1.0.3, 1.1.4, and 1.2.0)
1. Build the proper version of Erlang that release was built with,
using kerl (which it will also download)
1. Build those releases of Riak.
2012-09-17 21:16:59 +00:00
You'll want to run this script from an empty directory. Also, you
might be thinking that you already have all the required versions of
erlang. Great! You can crack open the script and set the paths to your
installation:
```bash
R14B04=${R14B04:-$HOME/erlang-R14B04}
```
2012-09-17 21:16:59 +00:00
**Kerlveat**: If you want kerl to build erlangs with serious 64-bit
macintosh action, you'll need a `~/.kerlrc` file that looks like this:
2012-08-22 16:42:35 +00:00
```
2012-09-10 19:56:28 +00:00
KERL_CONFIGURE_OPTIONS="--disable-hipe --enable-smp-support --enable-threads --enable-kernel-poll --enable-darwin-64bit"
2012-08-22 16:42:35 +00:00
```
2012-09-17 21:16:59 +00:00
The script will check that all these paths exist. If even one of them
is missing, it will prompt you to install kerl, even if you already
have kerl. If you say no, the script quits. If you say yes, or all of
your erlang paths check out, then go get a cup of coffee, you'll be
building for a little while.
2012-09-17 21:16:59 +00:00
**Warning**: If you are running OS X 10.7+ and trying to build Riak
1.0.3, then the erlang_js dependency won't compile for you, but it
fails silently. Fortunately, the precomipled OS X build includes this
dependency in it's working form. Just run `rtdev-lion-fix.sh` after
`rtdev-build-releases.sh` to patch it. **Please run this patch before
proceeding on to the next script**
### rtdev-setup-releases.sh
2012-09-17 21:16:59 +00:00
The `rtdev-setup-releases.sh` will get the releases you just built
into a local git repository. Currently, running this script from the
same directory that you just built all of your releases into.
Currently this script initializes this repository into `/tmp/rt` but
it's probably worth making that configurable in the near term.
### rtdev-current.sh
2012-09-17 21:16:59 +00:00
`rtdev-current.sh` is where it gets interesting. You need to run that
from the Riak source folder you're wanting to test as the current
version of Riak. Also, make sure that you've already run `make devrel`
or `make stagedevrel` before you run `rtdev-current.sh`.
### Config file.
2012-09-17 21:16:59 +00:00
Now that you've got your releases all ready and gitified, you'll need
to tell riak_test about them. The method of choice is to create a
`~/.riak_test.config` that looks something like this:
```erlang
{rtdev_mixed, [
{rt_deps, ["$PATH_TO_YOUR_RIAK_SOURCE/deps"]},
{rt_max_wait_time, 180000},
{rt_retry_delay, 500},
{rt_harness, rtdev},
{rtdev_path, [{root, "/tmp/rt"},
{current, "/tmp/rt/current"},
{"1.2.0", "/tmp/rt/riak-1.2.0"},
{"1.1.4", "/tmp/rt/riak-1.1.4"},
{"1.0.3", "/tmp/rt/riak-1.0.3"}]}
]}.
```
### Running riak_test for the first time
2012-09-17 21:16:59 +00:00
2012-09-07 22:18:03 +00:00
Run a test! `./riak_test -c rtdev_mixed -t verify_build_cluster`
2012-09-17 21:16:59 +00:00
Did that work? Great, try something harder: `./riak_test -c
rtdev_mixed -t upgrade`