[tox] isolated_build = true envlist = {,ci-}py{310,311,312,313,314,315,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