X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/c53b3ad8fa62eb124d017a23bdff5a2bfa9890af..19f6aa8208154de4560ee1e4a3e638e120dcdba5:/tox.ini diff --git a/tox.ini b/tox.ini index 3ea4da8..683a543 100644 --- a/tox.ini +++ b/tox.ini @@ -1,9 +1,13 @@ [tox] -envlist = {,ci-}py{36,37,38,39},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. +# 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 @@ -12,12 +16,44 @@ commands = pip install -e .[d] coverage erase pytest tests --run-optional no_python2 \ + --run-optional no_jupyter \ !ci: --numprocesses auto \ --cov {posargs} pip install -e .[d,python2] pytest tests --run-optional python2 \ + --run-optional no_jupyter \ !ci: --numprocesses auto \ --cov --cov-append {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] + coverage erase + pytest tests --run-optional no_python2 \ + --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]