+++ /dev/null
-[tox]
-isolated_build = true
-envlist = {,ci-}py{38,39,310,311,py3},fuzz,run_self
-
-[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 .[d]
- black --check {toxinidir}/src {toxinidir}/tests