Cassandra Distributed Tests
Switch branches/tags
Nothing to show
Pull request Compare This branch is 4764 commits behind riptano:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
cassandra
demonstrate
.gitignore
README
assertions.py
batch_test.py
bootstrap_test.py
concurrent_schema_changes_test.py
configuration_test.py
consistency_test.py
counter_tests.py
cql_tests.py
deletion_test.py
dtest.py
global_row_key_cache_test.py
license.txt
loadmaker.py
loadmaker_test.py
multidc_putget_test.py
putget_test.py
range_ghost_test.py
repair_test.py
rolling_upgrade_test.py
schema_test.py
secondary_indexes_test.py
sstable_generation_loading_test.py
super_column_cache_test.py
super_counter_test.py
tools.py
topology_test.py
upgrade_through_versions_test.py

README

Cassandra Distributed Tests
===========================


Prerequisite
------------

An up to date of ccm (https://github.com/pcmanus/ccm) should be installed.
The tests are run using nosetests (http://readthedocs.org/docs/nose/en/latest/)
which thus needs to be installed too. The python CQL driver also needs to be
available (http://code.google.com/a/apache-extras.org/p/cassandra-dbapi2/).


Usage
-----

Tests are ran by nostests, the only thing the framework needs to know is where
is the (compliled) sources for Cassandra to use. There is two options:
 * Use existing sources:
     CASSANDRA_DIR=~/path/to/cassandra nosetests
 * Use ccm ability to download/compile released sources from archives.apache.org:
     CASSANDRA_VERSION=1.0.0 nosetests

A convenient option if tests are regularly run against the same existing
directory is to set a default_dir in ~/.cassandra-dtest. Create the file and
set it to something like:
  [main]
  default_dir=~/path/to/cassandra
The tests will use this directory by default, avoiding the need for any
environment variable (that still have precedence if given though).

Existing tests are probably the best place to start to look at how write
tests.

Each test spawns a new fresh cluster and tear him down after the test. If a
test fails, the logs for the node are saved in a logs/<timestamp> directory
for analysis (it's not perfect but have been good enough so far, I'm open to
better suggestsions).