# crmsh

- News
- Documentation
- Download
- Development
- About

# Development

## Tools

## Source Code

The source code for crmsh is kept in a git repository hosted at github. Use git to get a working copy:

    git clone https://github.com/ClusterLabs/crmsh.git

### Dependencies

Building and installing crmsh requires Python version 2.6 and up (but not 3, yet).

Additionally, the following Python modules are needed:

- lxml

- PyYAML

- setuptools

- parallax

- python-dateutil

### Building

crmsh uses the autotools suite to manage the build process.

    ./autogen.sh
    ./configure
    make
    make install

### Tests

The unit tests for crmsh require nose to run. On most distributions, this can be installed by installing the package python-nose, or using pip.

To run the unit test suite, go to the source code directory of crmsh and call:

    ./test/run

crmsh also comes with a comprehensive regression test suite. The regression tests need to run after installation, on a system which has both crmsh and pacemaker installed. You will also need to install pacemaker development headers.

- pacemaker

To execute the tests, call:

    /usr/share/crmsh/tests/regression.sh
    cat crmtestout/regression.out