[tox] envlist = py27, py33, py34, py35, pypy, jython, pylint skip_missing_interpreters = true [testenv:pylint] deps = git+https://github.com/PyCQA/astroid@master isort commands = pylint -rn --rcfile={toxinidir}/pylintrc --load-plugins=pylint.extensions.docparams, pylint.extensions.mccabe {envsitepackagesdir}/pylint [testenv] deps = git+https://github.com/PyCQA/astroid@master coverage isort mccabe setenv = COVERAGE_FILE = {toxinidir}/.coverage.{envname} commands = python -Wi {envsitepackagesdir}/coverage run -m unittest discover -s {envsitepackagesdir}/pylint/test/ -p {posargs:*test_*}.py ; 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: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}