Testing
Prerequisites
To run the libcloud test suite you need to have the following extra dependencies installed:
- tox (pip install tox) - you only need this library if you want to use tox to run the tests with all the supported Python versions
- mock (pip install mock)
- lockfile (pip install lockfile) - only used in the local storage storage driver
- coverage (pip install coverage) - you only need this library if you want to generate a test coverage report
Running Tests On All the Supported Python Versions Using tox
To run the tests on all the supported Python versions run the following command:
sudo tox
You need to run this command as a root user, because Python 2.5 depends on ssl module and you need root permissions to install it.
Note: tox uses virtualenv and won't pollute your local Python installations.
Running Tests Manually
To run the tests move to the root of the repository and run the following command:
PYTHONPATH=. python setup.py test
Running a Single Test File
To run the tests located in a single test file, move to the root of the repository and run the following command:
PYTHONPATH=. python libcloud/test/<path to test file>
For example:
PYTHONPATH=. python libcloud/test/libcloud/test/compute/test_ec2.py
Generating Test Coverage Report
To generate the test coverage run the following command:
PYTHONPATH=. python setup.py coverage
When it completes you should see a new coverage_html_report
directory which
contains the test coverage.