[tox] envlist = {,ci-}py{36,37,38,39,310},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 ; 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_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:fuzz] skip_install = True deps = -r{toxinidir}/test_requirements.txt hypothesmith lark-parser < 0.10.0 ; lark-parser's version is set due to a bug in hypothesis. Once it solved, that would be fixed. commands = pip install -e .[d] coverage erase coverage run fuzz.py coverage report