[tox] envlist = py35, py36, py37, py38, pypy, 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 py35,py36,py37: numpy py35,py36,py37: attr py35,py36,py37: typed_ast>=1.4.0,<1.5 pytest python-dateutil pypy: singledispatch six~=1.12 wrapt~=1.11 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==18.6b4 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