3b13e5d585
Also adding some more useful info on tox and link to its official docs. Change-Id: I13f2ba79c5f1df55e5926f00046a647f09bfbe4b
100 lines
2.5 KiB
ReStructuredText
100 lines
2.5 KiB
ReStructuredText
===========================
|
|
Testing Your OpenStack Code
|
|
===========================
|
|
------------
|
|
A Quickstart
|
|
------------
|
|
|
|
This is designed to be enough information for you to run your first tests.
|
|
Detailed information on testing can be found here: https://wiki.openstack.org/wiki/Testing
|
|
|
|
*Install pip*::
|
|
|
|
$ [apt-get | yum] install python-pip
|
|
More information on pip here: http://www.pip-installer.org/en/latest/
|
|
|
|
*Use pip to install tox*::
|
|
|
|
$ pip install tox
|
|
|
|
Run The Tests
|
|
-------------
|
|
|
|
*Navigate to the project's root directory and execute*::
|
|
|
|
$ tox
|
|
Note: completing this command may take a long time (depends on system resources)
|
|
also, you might not see any output until tox is complete.
|
|
|
|
Information about tox can be found here: http://testrun.org/tox/latest/
|
|
|
|
Run The Tests in One Environment
|
|
--------------------------------
|
|
|
|
Tox will run your entire test suite in the environments specified in the project tox.ini::
|
|
|
|
[tox]
|
|
|
|
envlist = <list of available environments>
|
|
|
|
To run the test suite in just one of the environments in envlist execute::
|
|
|
|
$ tox -e <env>
|
|
so for example, *run the test suite with the default OS version of Python 3*::
|
|
|
|
$ tox -e py3
|
|
|
|
or select a specific version, *run the test suite using Python 3.6*::
|
|
|
|
$ tox -e py36
|
|
|
|
Other useful tox options that can be specified when running the test suite are::
|
|
|
|
-v to increase verbosity of the output, can be repeated up to three times
|
|
based on the desired verbosity level
|
|
|
|
-r to recreate the virtual environment from scratch
|
|
|
|
Run One Test
|
|
------------
|
|
|
|
To run individual tests with tox:
|
|
|
|
if testr is in tox.ini, for example::
|
|
|
|
[testenv]
|
|
|
|
includes "python setup.py testr --slowest --testr-args='{posargs}'"
|
|
|
|
run individual tests with the following syntax::
|
|
|
|
$ tox -e <env> -- path.to.module:Class.test
|
|
so for example, *run the cpu_limited test in Nova*::
|
|
|
|
$ tox -e py36 -- nova.tests.test_claims:ClaimTestCase.test_cpu_unlimited
|
|
|
|
if nose is in tox.ini, for example::
|
|
|
|
[testenv]
|
|
|
|
includes "nosetests {posargs}"
|
|
|
|
run individual tests with the following syntax::
|
|
|
|
$ tox -e <env> -- --tests path.to.module:Class.test
|
|
so for example, *run the list test in Glance*::
|
|
|
|
$ tox -e py36 -- --tests glance.tests.unit.test_auth.py:TestImageRepoProxy.test_list
|
|
|
|
Need More Info?
|
|
---------------
|
|
|
|
More information about testr: https://wiki.openstack.org/wiki/Testr
|
|
|
|
More information about tox: https://tox.readthedocs.io/en/latest/
|
|
|
|
More information about nose: https://nose.readthedocs.org/en/latest/
|
|
|
|
More information about testing OpenStack code can be found here:
|
|
https://wiki.openstack.org/wiki/Testing
|