summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2023-02-27 21:07:13 +0000
committerGerrit Code Review <review@openstack.org>2023-02-27 21:07:13 +0000
commitfff4406b3810a3e9661c3bb6f4dadc462731a94a (patch)
treed85a679a5c4e74ba92f4ad112219c790d2a4af58
parentc0483c5b940d559b4a9efd2b5c64bf5b5528fa11 (diff)
parent49ba1bc33aeeee88e8d81eef818d3c857fb3b505 (diff)
downloadswift-fff4406b3810a3e9661c3bb6f4dadc462731a94a.tar.gz
Merge "Present `pytest` steps in development guidelines"
-rw-r--r--doc/source/development_guidelines.rst33
1 files changed, 32 insertions, 1 deletions
diff --git a/doc/source/development_guidelines.rst b/doc/source/development_guidelines.rst
index 6fdf7c507..8db586b46 100644
--- a/doc/source/development_guidelines.rst
+++ b/doc/source/development_guidelines.rst
@@ -46,12 +46,39 @@ To execute the tests:
tox
+To run a selected subset of unit tests with ``pytest``:
+
+* Create a virtual environment with ``tox``::
+
+ tox devenv -e py3 .env
+
+.. note::
+ Alternatively, here are the steps of manual preparation of the virtual environment::
+
+ virtualenv .env
+ source .env/bin/activate
+ pip3 install -r requirements.txt -r test-requirements.txt -c py36-constraints.txt
+ pip3 install -e .
+ deactivate
+
+* Activate the virtual environment::
+
+ source .env/bin/activate
+
+* Run some unit tests, for example::
+
+ pytest test/unit/common/middleware/crypto
+
+* Run all unit tests::
+
+ pytest test/unit
+
.. note::
If you installed using ``cd ~/swift; sudo python setup.py develop``, you may
need to do ``cd ~/swift; sudo chown -R ${USER}:${USER} swift.egg-info`` prior
to running ``tox``.
-* By default ``tox`` will run all of the unit test and pep8 checks listed in
+* By default ``tox`` will run **all of the unit test** and pep8 checks listed in
the ``tox.ini`` file ``envlist`` option. A subset of the test environments
can be specified on the ``tox`` command line or by setting the ``TOXENV``
environment variable. For example, to run only the pep8 checks and python2.7
@@ -63,6 +90,10 @@ To execute the tests:
TOXENV=py27,pep8 tox
+ To run unit tests with python3.8::
+
+ tox -e py38
+
.. note::
As of ``tox`` version 2.0.0, most environment variables are not automatically
passed to the test environment. Swift's ``tox.ini`` overrides this default