Cassandra Distributed Tests
Python
Pull request Compare This branch is 4238 commits behind riptano:master.
Latest commit d56f319 Jun 19, 2014 @pcmanus Tests for 7305
Permalink
Failed to load latest commit information.
cassandra
conf
.gitignore
INSTALL.md
README
assertions.py
auth_test.py
batch_test.py
bootstrap_test.py
concurrent_schema_changes_test.py
configuration_test.py
consistency_test.py
consistent_bootstrap_test.py
counter_tests.py
cql_prepared_test.py
cql_tests.py
cqlsh_tests.py
delete_insert_test.py
deletion_test.py
dtest.py
global_row_key_cache_test.py
license.txt
loadmaker.py
loadmaker_test.py
multidc_putget_test.py
paxos_tests.py
putget_test.py
range_ghost_test.py
repair_test.py
replace_address_test.py
replication_test.py
schema_test.py
secondary_indexes_test.py
snapshot_test.py
sstable_generation_loading_test.py
sstablesplit_test.py
super_column_cache_test.py
super_counter_test.py
taketoken_test.py
thrift_hsha_test.py
tools.py
topology_test.py
upgrade_supercolumns_test.py
upgrade_through_versions_test.py
user_types.py
wide_rows_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 tears it 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).

Detailed Instructions
---------------------

See more detailed instructions in the included INSTALL file 
(https://github.com/riptano/cassandra-dtest/blob/master/INSTALL.md)