/pytest-pylint

pytest plugin for running pylint against your codebase

Primary LanguagePythonMIT LicenseMIT

pytest pylint

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

Releases

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