| [tox] |
| 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_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] |
| 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 < 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 |