[tox] envlist = py{36,37,38,39}, py{36,37,38,39}-six, pylint skip_missing_interpreters = true [testenv:pylint] deps = git+https://github.com/pycqa/pylint@master pytest commands = pylint -rn --rcfile={toxinidir}/pylintrc {toxinidir}/astroid pylint: git+https://github.com/pycqa/pylint@master [testenv] deps = pypy: backports.functools_lru_cache pypy: enum34 lazy-object-proxy==1.4.* ; we have a brain for nose ; we use pytest for tests nose py{36,37,38,39}: numpy py{36,37,38,39}: attrs py{36,37,38,39}: typed_ast>=1.4.0,<1.5 pytest !py{36,37,38,39}-six: python-dateutil six: six wrapt>=1.11,<1.13 coverage<5 setenv = COVERAGE_FILE = {toxinidir}/.coverage.{envname} commands = ; --pyargs is needed so the directory astroid doesn't shadow the tox ; installed astroid package ; This is important for tests' test data which create files ; inside the package python -Wi {envsitepackagesdir}/coverage run -m pytest --pyargs {posargs:tests} [testenv:formatting] basepython = python3 deps = black==20.8b1 commands = black --check --exclude "tests/testdata" astroid tests changedir = {toxinidir} [testenv:coveralls] setenv = COVERAGE_FILE = {toxinidir}/.coverage passenv = * deps = coverage<5 coveralls skip_install = true commands = python {envsitepackagesdir}/coverage combine --append python {envsitepackagesdir}/coverage report --rcfile={toxinidir}/.coveragerc -m - coveralls --rcfile={toxinidir}/.coveragerc changedir = {toxinidir} [testenv:coverage-erase] setenv = COVERAGE_FILE = {toxinidir}/.coverage deps = coverage<5 skip_install = true commands = python {envsitepackagesdir}/coverage erase changedir = {toxinidir} [testenv:docs] skipsdist = True usedevelop = True changedir = doc/ deps = sphinx commands = sphinx-build -b html . build