blob: 0aa149e02164e3ab60cc821a569ee6715df66154 [file] [log] [blame]
[tox]
envlist = py34, py35, py36, py37, pypy, 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:formatting]
basepython = python3
deps = black==18.6b4
commands = black --check --exclude "functional|input|test/extension|test/regrtest_data|test/data" pylint
changedir = {toxinidir}
[testenv:mypy]
basepython = python3
deps =
mypy
commands =
python -m mypy {toxinidir}/pylint/checkers --ignore-missing-imports
[testenv]
deps =
https://github.com/PyCQA/astroid/tarball/master#egg=astroid-master-2.0
coverage
isort
mccabe
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}
[testenv:docs]
skipsdist = True
usedevelop = True
changedir = doc/
whitelist_externals = rm
deps =
sphinx
python-docs-theme
commands =
pip install python_docs_theme
rm -f features.rst
python ./exts/pylint_features.py
rm -f extensions.rst
python ./exts/pylint_extensions.py
sphinx-build -W -b html -d _build/doctrees . _build/html