Skip to main content

pytest plugin to check source code with pylint

Project description

https://img.shields.io/travis/carsongee/pytest-pylint.svg https://img.shields.io/coveralls/carsongee/pytest-pylint.svg https://img.shields.io/pypi/v/pytest-pylint.svg https://anaconda.org/conda-forge/pytest-pylint/badges/version.svg https://anaconda.org/conda-forge/pytest-pylint/badges/downloads.svg https://img.shields.io/pypi/l/pytest-pylint.svg

Run pylint with pytest and have configurable rule types (i.e. Convention, Warn, and Error) fail the build. You can also specify a pylintrc file.

Sample Usage

py.test --pylint

would be the most simple usage and would run pylint for all error messages.

py.test --pylint --pylint-rcfile=/my/pyrc --pylint-error-types=EF --pylint-jobs=4

This would use the pylintrc file at /my/pyrc, only error on pylint Errors and Failures, and use 4 cores for running pylint.

You can restrict your test run to only perform pylint checks and not any other tests by typing:

py.test --pylint -m pylint

Acknowledgements

This code is heavily based on pytest-flakes

Development

If you want to help development, there is overview documentation

Releases

0.17.0

  • Added support for latest pylint API >=2.5.1

0.16.1

  • Corrected documentation and correctly pinned dependencies properly

0.16.0

  • Switched to new from_parent API and added development documentation dineshtrivedi
  • Added support for toml based configuration of pylint thanks to michael-k

0.15.1

  • Made –no-pylint functional again

0.15.0

  • Added support for Python 3.8 thanks to michael-k
  • Implemented option to output Pylint results to a reports file thanks to jose-lpa
  • Refactored into simpler plugin structure

0.14.1

  • Corrected pytest-pylint to properly support -p no:cacheprovider thanks to yanqd0

0.14.0

  • Added support for Pylint’s ignore-patterns for regex based ignores thanks to khokhlin
  • pytest-pylint now caches successful pylint checks to speedup test reruns when files haven’t changed thanks to yanqd0

0.13.0

  • Python 3.7 compatibility verified
  • Ignore paths no longer match partial names thanks to heoga

0.12.3

  • jamur2 corrected issue where file paths where not being output properly on lint failures.

0.12.2

  • Resolved issue where failing files weren’t reported thanks to reports from skirpichev and jamur2

0.12.1

  • Corrected a bug preventing this plugin from working with py.test >= 3.7.0.

0.12.0

  • jwkvam added progress output during linting.

0.11.0

  • Added option --no-pylint to override --pylint for cases when it’s turned on by default.

0.10.0

  • jwkvam provided support for pylint 2.0

0.9.0

  • noisecapella added an option to run pylint with multiple processes

0.8.0

  • bdrung corrected inconsitent returns in a function
  • Dropped Python 3.3 support

0.7.1

0.7.0

  • Linting is performed before tests which enables code duplication checks to work along with a performance boost, thanks to @heoga

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pytest-pylint, version 0.17.0
Filename, size File type Python version Upload date Hashes
Filename, size pytest_pylint-0.17.0-py3-none-any.whl (8.9 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size pytest-pylint-0.17.0.tar.gz (9.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page