| [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 |
| deps = |
| -r{toxinidir}/test_requirements.txt |
| 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 |
| deps = |
| -r{toxinidir}/test_requirements.txt |
| 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:{,ci-}311] |
| setenv = |
| PYTHONPATH = {toxinidir}/src |
| AIOHTTP_NO_EXTENSIONS = 1 |
| skip_install = True |
| recreate = True |
| deps = |
| ; We currently need > aiohttp 3.8.1 that is on PyPI for 3.11 |
| git+https://github.com/aio-libs/aiohttp |
| -r{toxinidir}/test_requirements.txt |
| 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:fuzz] |
| skip_install = True |
| deps = |
| -r{toxinidir}/test_requirements.txt |
| hypothesmith |
| lark-parser |
| 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}/src {toxinidir}/tests {toxinidir}/docs {toxinidir}/scripts |
| |
| [testenv:generate_schema] |
| setenv = PYTHONWARNDEFAULTENCODING = |
| skip_install = True |
| deps = |
| commands = |
| pip install -e . |
| python {toxinidir}/scripts/generate_schema.py --outfile {toxinidir}/src/black/resources/black.schema.json |