Skip to content

Commit a69230e

Browse files
committed
🎨 Add descriptions to all tox environments
Previously, a part of the environments weren't documented in the config, making it difficult for the newbies to figure out what their purposes are. This patch sets the descriptions for all the envs listed with the `tox -av` command, leveraging the dynamic factor-dependent explanation fragments. ```console default environments: linting -> run pre-commit-defined linters under `python3` py38 -> run the tests under `py38` py39 -> run the tests under `py39` py310 -> run the tests under `py310` py311 -> run the tests under `py311` py312 -> run the tests under `py312` py313 -> run the tests under `py313` pypy3 -> run the tests under `pypy3` py38-pexpect -> run the tests against `pexpect` under `py38` py38-xdist -> run the tests with pytest in parallel mode under `py38` py38-unittestextras -> run the tests against the unit test extras under `py38` py38-numpy -> run the tests against `numpy` under `py38` py38-pluggymain -> run the tests against the bleeding edge `pluggy` from Git under `py38` py38-pylib -> run the tests against `py` lib under `py38` doctesting -> run the tests under `~/.pyenv/versions/3.12.3/envs/pytest-pyenv-py3.12.3/bin/python` including doctests doctesting-coverage -> run the tests collecting coverage under `~/.pyenv/versions/3.12.3/envs/pytest-pyenv-py3.12.3/bin/python` including doctests plugins -> run reverse dependency testing against pytest plugins under `~/.pyenv/versions/3.12.3/envs/pytest-pyenv-py3.12.3/bin/python` py38-freeze -> test pytest frozen with `pyinstaller` under `py38` docs -> build the documentation site under `~/src/github/pytest-dev/pytest/doc/en/_build/html` with `python3` docs-checklinks -> check the links in the documentation with `python3` py311-exceptiongroup -> run the tests against `exceptiongroup` under `py311` additional environments: regen -> regenerate documentation examples under `python3` release -> do a release, required posarg of the version number prepare-release-pr -> prepare a release PR from a manual trigger in GitHub actions generate-gh-release-notes -> generate release notes that can be published as GitHub Release nobyte -> run the tests in no-bytecode mode under `~/.pyenv/versions/3.12.3/envs/pytest-pyenv-py3.12.3/bin/python` lsof -> run the tests with `--lsof` pytest CLI option under `~/.pyenv/versions/3.12.3/envs/pytest-pyenv-py3.12.3/bin/python` ```
1 parent b08b6d1 commit a69230e

1 file changed

Lines changed: 27 additions & 0 deletions

File tree

tox.ini

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,20 @@ envlist =
2626

2727

2828
[testenv]
29+
description =
30+
run the tests
31+
coverage: collecting coverage
32+
exceptiongroup: against `exceptiongroup`
33+
nobyte: in no-bytecode mode
34+
lsof: with `--lsof` pytest CLI option
35+
numpy: against `numpy`
36+
pexpect: against `pexpect`
37+
pluggymain: against the bleeding edge `pluggy` from Git
38+
pylib: against `py` lib
39+
unittestextras: against the unit test extras
40+
xdist: with pytest in parallel mode
41+
under `{basepython}`
42+
doctesting: including doctests
2943
commands =
3044
{env:_PYTEST_TOX_COVERAGE_RUN:} pytest {posargs:{env:_PYTEST_TOX_DEFAULT_POSARGS:}}
3145
doctesting: {env:_PYTEST_TOX_COVERAGE_RUN:} pytest --doctest-modules --pyargs _pytest
@@ -72,6 +86,8 @@ deps =
7286
{env:_PYTEST_TOX_EXTRA_DEP:}
7387

7488
[testenv:linting]
89+
description =
90+
run pre-commit-defined linters under `{basepython}`
7591
skip_install = True
7692
basepython = python3
7793
deps = pre-commit>=2.9.3
@@ -81,6 +97,9 @@ setenv =
8197
PYTHONWARNDEFAULTENCODING=
8298

8399
[testenv:docs]
100+
description =
101+
build the documentation site under \
102+
`{toxinidir}{/}doc{/}en{/}_build{/}html` with `{basepython}`
84103
basepython = python3.12 # sync with rtd to get errors
85104
usedevelop = True
86105
deps =
@@ -102,6 +121,8 @@ setenv =
102121
PYTHONWARNDEFAULTENCODING=
103122

104123
[testenv:docs-checklinks]
124+
description =
125+
check the links in the documentation with `{basepython}`
105126
basepython = python3
106127
usedevelop = True
107128
changedir = doc/en
@@ -113,6 +134,8 @@ setenv =
113134
PYTHONWARNDEFAULTENCODING=
114135

115136
[testenv:regen]
137+
description =
138+
regenerate documentation examples under `{basepython}`
116139
changedir = doc/en
117140
basepython = python3
118141
passenv =
@@ -130,6 +153,8 @@ setenv =
130153
PYTHONWARNDEFAULTENCODING=
131154

132155
[testenv:plugins]
156+
description =
157+
run reverse dependency testing against pytest plugins under `{basepython}`
133158
# use latest versions of all plugins, including pre-releases
134159
pip_pre=true
135160
# use latest pip to get new dependency resolver (#7783)
@@ -154,6 +179,8 @@ commands =
154179
pytest simple_integration.py --force-sugar --flakes
155180

156181
[testenv:py38-freeze]
182+
description =
183+
test pytest frozen with `pyinstaller` under `{basepython}`
157184
changedir = testing/freeze
158185
deps =
159186
pyinstaller

0 commit comments

Comments
 (0)