title: Testing ## 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/` 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.