[tox]
-envlist = {,ci-}py{36,37,38,39,310},fuzz
+envlist = {,ci-}py{36,37,38,39,310,py3},fuzz
[testenv]
setenv = PYTHONPATH = {toxinidir}/src
skip_install = True
# We use `recreate=True` because otherwise, on the second run of `tox -e py`,
-# the `no_python2` tests would run with the Python2 extra dependencies installed.
+# the `no_jupyter` tests would run with the jupyter extra dependencies installed.
# See https://github.com/psf/black/issues/2367.
recreate = True
deps =
commands =
pip install -e .[d]
coverage erase
- pytest tests --run-optional no_python2 \
- --run-optional no_jupyter \
+ pytest tests --run-optional no_jupyter \
!ci: --numprocesses auto \
--cov {posargs}
- pip install -e .[d,python2]
- pytest tests --run-optional python2 \
- --run-optional no_jupyter \
+ 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]
+ 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