ironic-lib/TESTING.rst
Riccardo Pittau 3b13e5d585 Updating testing doc to py3
Also adding some more useful info on tox and link to its
official docs.

Change-Id: I13f2ba79c5f1df55e5926f00046a647f09bfbe4b
2019-11-29 09:53:56 +01:00

2.5 KiB

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