blob: bf4cfd399be92cd37c8579779bdf2c43886e64ba [file] [edit]
[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