107 lines
3.1 KiB
INI
107 lines
3.1 KiB
INI
[tox]
|
|
isolated_build = true
|
|
envlist = {,ci-}py{39,310,311,312,313,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
|
|
; parallelization is disabled on CI because pytest-dev/pytest-xdist#620 occurs too frequently
|
|
; local runs can stay parallelized since they aren't rolling the dice so many times as like on CI
|
|
commands =
|
|
pip install -e .[d]
|
|
coverage erase
|
|
pytest tests --run-optional no_jupyter \
|
|
!ci: --numprocesses auto \
|
|
--cov {posargs}
|
|
pip install -e .[jupyter]
|
|
pytest tests --run-optional jupyter \
|
|
-m jupyter \
|
|
!ci: --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
|
|
; a separate worker is required in ci due to https://foss.heptapod.net/pypy/pypy/-/issues/3317
|
|
; this seems to cause tox to wait forever
|
|
; remove this when pypy releases the bugfix
|
|
commands =
|
|
pip install -e .[d]
|
|
pytest tests \
|
|
--run-optional no_jupyter \
|
|
!ci: --numprocesses auto \
|
|
ci: --numprocesses 1
|
|
pip install -e .[jupyter]
|
|
pytest tests --run-optional jupyter \
|
|
-m jupyter \
|
|
!ci: --numprocesses auto \
|
|
ci: --numprocesses 1
|
|
|
|
[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
|
|
; a separate worker is required in ci due to https://foss.heptapod.net/pypy/pypy/-/issues/3317
|
|
; this seems to cause tox to wait forever
|
|
; remove this when pypy releases the bugfix
|
|
commands =
|
|
pip install -e .[d]
|
|
coverage erase
|
|
pytest tests \
|
|
--run-optional no_jupyter \
|
|
!ci: --numprocesses auto \
|
|
ci: --numprocesses 1 \
|
|
--cov {posargs}
|
|
pip install -e .[jupyter]
|
|
pytest tests --run-optional jupyter \
|
|
-m jupyter \
|
|
!ci: --numprocesses auto \
|
|
ci: --numprocesses 1 \
|
|
--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
|