
Adds information about the -r flag for tox to refresh the venv when running unitests as when this happens the failures can look odd or valid failures can be missing when running on a local system but occur when running in the gate. Change-Id: Ie6f7f73dfdbd4e55e8ac0b8a66cf9661f5630a09
1.8 KiB
Unit Tests
Nova contains a suite of unit tests, in the nova/tests directory.
Any proposed code change will be automatically rejected by the OpenStack Jenkins server1 if the change causes unit test failures.
Preferred way to run the tests
The preferred way to run the unit tests is using tox
.
See the
unit testing section of the Testing wiki page and Nova's
HACKING.rst for more information. Following are some simple
examples.
To run the style tests:
tox -e pep8
You can request multiple tests, separated by commas:
tox -e py27,pep8
Running a subset of tests
Instead of running all tests, you can specify an individual directory, file, class, or method that contains test code.
To run the tests in the nova/tests/unit/scheduler
directory:
tox -e py27 nova.tests.unit.scheduler
To run the tests in the
nova/tests/unit/virt/libvirt/test_driver.py
file:
tox -e py27 test_driver
To run the tests in the CacheConcurrencyTestCase
class
in nova/tests/unit/virt/libvirt/test_driver.py
:
tox -e py27 test_driver.CacheConcurrencyTestCase
To run the ValidateIntegerTestCase.test_invalid_inputs
test method in nova/tests/unit/test_utils.py
:
tox -epy27 test_utils.ValidateIntegerTestCase.test_invalid_inputs
Debugging strange test failures
Things to try when there are odd test failures such as failure on jenkins but not locally.
The venv can get stale. Force a refresh by adding the -r flag:
tox -r -e pep8
Footnotes
See
jenkins
.↩︎