Difference between revisions of "Testing"
(→Testing OpenStack Projects) |
m (→Unit Tests: Added note about bug 1274135) |
||
Line 18: | Line 18: | ||
`pip install tox` (`pip install --upgrade tox` - upgrades tox) | `pip install tox` (`pip install --upgrade tox` - upgrades tox) | ||
+ | |||
+ | At the moment there is a bug in the latest tox; see https://bugs.launchpad.net/openstack-ci/+bug/1274135 for a workaround; when installing from scratch, install a suitable downlevel version. | ||
Sample tox.ini file https://github.com/openstack/nova/blob/master/tox.ini | Sample tox.ini file https://github.com/openstack/nova/blob/master/tox.ini | ||
Line 34: | Line 36: | ||
Why does tox take so long to run? | Why does tox take so long to run? | ||
The reason tox takes a long time is two-fold: On the first run it has to create a virtual environment, which can take anywhere from 5 to 30+ minutes depending on the project and the system. The other reason is that it just takes a long time to run all of the test cases in some of the projects. | The reason tox takes a long time is two-fold: On the first run it has to create a virtual environment, which can take anywhere from 5 to 30+ minutes depending on the project and the system. The other reason is that it just takes a long time to run all of the test cases in some of the projects. | ||
− | |||
=== Style Checks === | === Style Checks === |
Revision as of 20:45, 18 February 2014
Contents
Testing OpenStack Projects
Projects generally have three categories of tests that commits are must pass before being ready for review:
- Unit Tests
- Self contained in each project
- Style Checks
- Integration Tests
- Part of tempest
Unit Tests
It is suggested you install tox [1] with pip [2].
`[apt-get | yum] install python-pip`
`pip install tox` (`pip install --upgrade tox` - upgrades tox)
At the moment there is a bug in the latest tox; see https://bugs.launchpad.net/openstack-ci/+bug/1274135 for a workaround; when installing from scratch, install a suitable downlevel version.
Sample tox.ini file https://github.com/openstack/nova/blob/master/tox.ini
There will be a tox.ini file in the root directory of every project.
Within the tox.ini file you might see any of the following envlist options:
[tox]
envlist = py26,py27,py33,pep8,pylint
or others.
Tox
Why does tox take so long to run? The reason tox takes a long time is two-fold: On the first run it has to create a virtual environment, which can take anywhere from 5 to 30+ minutes depending on the project and the system. The other reason is that it just takes a long time to run all of the test cases in some of the projects.
Style Checks
Style checks can be run via tox with `tox -epep8` or manually using `flake8`.
IntegrationTests
Running Swift Tests
Swift has functional tests, functional nose tests, and unit tests available in the source in the test directory. At Rackspace we test several environments including a staging area with 36 storage nodes.