[tox] envlist = py27, py34, py35, py36, pypy, pylint skip_missing_interpreters = true [testenv:pylint] deps = git+https://github.com/pycqa/astroid@1.6 isort commands = pylint -rn --rcfile={toxinidir}/pylintrc --load-plugins=pylint.extensions.docparams, pylint.extensions.mccabe {envsitepackagesdir}/pylint [testenv] deps = astroid>=1.6.0,<2.0 coverage isort mccabe backports.functools_lru_cache pytest pytest-xdist setenv = COVERAGE_FILE = {toxinidir}/.coverage.{envname} commands = python -Wi {envsitepackagesdir}/coverage run -m pytest {envsitepackagesdir}/pylint/test/ {posargs:} ; Transform absolute path to relative path ; for compatibility with coveralls.io and fix 'source not available' error. ; If you can find a cleaner way is welcome python -c "import os;cov_strip_abspath = open(os.environ['COVERAGE_FILE'], 'r').read().replace('.tox' + os.sep + os.path.relpath('{envsitepackagesdir}', '{toxworkdir}') + os.sep, '');open(os.environ['COVERAGE_FILE'], 'w').write(cov_strip_abspath)" changedir = {toxworkdir} [testenv:spelling] deps = https://github.com/PyCQA/astroid/tarball/master#egg=astroid-master-2.0 pytest pytest-xdist pyenchant commands = python -Wi -m pytest {envsitepackagesdir}/pylint/test/ {posargs:} -k unittest_checker_spelling changedir = {toxworkdir} [testenv:coveralls] setenv = COVERAGE_FILE = {toxinidir}/.coverage passenv = * deps = coverage coveralls skip_install = true commands = python {envsitepackagesdir}/coverage combine python {envsitepackagesdir}/coverage report --rcfile={toxinidir}/.coveragerc -m - coveralls --rcfile={toxinidir}/.coveragerc changedir = {toxinidir} [testenv:coverage-erase] setenv = COVERAGE_FILE = {toxinidir}/.coverage deps = coverage skip_install = true commands = python {envsitepackagesdir}/coverage erase changedir = {toxinidir}