| [tox] |
| isolated_build = true |
| envlist = {,ci-}py{310,311,312,313,314,py3},fuzz,run_self,generate_schema |
| |
| [testenv] |
| setenv = |
| PYTHONPATH = {toxinidir}/src |
| PYTHONWARNDEFAULTENCODING = 1 |
| skip_install = True |
| # We use `recreate=True` because otherwise, on the second run of `tox -e py`, |
| # the `no_jupyter` tests would run with the jupyter extra dependencies installed. |
| # See https://github.com/psf/black/issues/2367. |
| recreate = True |
| dependency_groups = cov-tests |
| commands = |
| pip install -e .[d] |
| coverage erase |
| pytest tests --run-optional no_jupyter \ |
| --numprocesses auto \ |
| --cov {posargs} |
| pip install -e .[jupyter] |
| pytest tests --run-optional jupyter \ |
| -m jupyter \ |
| --numprocesses auto \ |
| --cov --cov-append {posargs} |
| coverage report |
| |
| [testenv:{,ci-}pypy3] |
| setenv = |
| PYTHONPATH = {toxinidir}/src |
| skip_install = True |
| recreate = True |
| dependency_groups = tests |
| commands = |
| pip install -e .[d] |
| pytest tests --run-optional no_jupyter \ |
| --numprocesses auto |
| pip install -e .[jupyter] |
| pytest tests --run-optional jupyter \ |
| -m jupyter \ |
| --numprocesses auto |
| |
| [testenv:fuzz] |
| skip_install = True |
| dependency_groups = fuzz |
| commands = |
| pip install -e .[d] |
| coverage erase |
| coverage run {toxinidir}/scripts/fuzz.py |
| coverage report |
| |
| [testenv:run_self] |
| setenv = |
| PYTHONPATH = {toxinidir}/src |
| skip_install = True |
| commands = |
| pip install -e . |
| black --check {toxinidir} |
| |
| [testenv:generate_schema] |
| setenv = |
| PYTHONWARNDEFAULTENCODING = |
| skip_install = True |
| commands = |
| pip install -e . |
| python {toxinidir}/scripts/generate_schema.py --outfile {toxinidir}/src/black/resources/black.schema.json |