summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorAlexander Fadeev <fadeevab.com@gmail.com>2023-01-27 19:32:32 +0200
committerAlexander Fadeev <fadeevab.com@gmail.com>2023-02-25 02:01:07 +0200
commit49ba1bc33aeeee88e8d81eef818d3c857fb3b505 (patch)
tree33e2f197cef393b3ffd34d7e29c05374fd263ec1 /doc
parent5de745c2bc3aa82049424b9c3e8744cda53a4c74 (diff)
downloadswift-49ba1bc33aeeee88e8d81eef818d3c857fb3b505.tar.gz
Present `pytest` steps in development guidelines
Explain how to prepare venv with `tox devenv` Closes-Bug: #2003984 Change-Id: Idc536034a36646de9c1880c8d0bc0a387b130ac2
Diffstat (limited to 'doc')
-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