pytest-pylint

pytest plugin to check source code with pylint

MIT 29 个版本 Python >=3.7
Carson Gee <x@carsongee.com>
安装
pip install pytest-pylint
poetry add pytest-pylint
pipenv install pytest-pylint
conda install pytest-pylint
描述

pytest pylint

.. image:: https://github.com/carsongee/pytest-pylint/actions/workflows/tests.yml/badge.svg :target: https://github.com/carsongee/pytest-pylint/actions/workflows/tests.yml .. image:: https://img.shields.io/coveralls/carsongee/pytest-pylint.svg :target: https://coveralls.io/r/carsongee/pytest-pylint .. image:: https://img.shields.io/pypi/v/pytest-pylint.svg :target: https://pypi.python.org/pypi/pytest-pylint .. image:: https://anaconda.org/conda-forge/pytest-pylint/badges/version.svg :target: https://anaconda.org/conda-forge/pytest-pylint .. image:: https://anaconda.org/conda-forge/pytest-pylint/badges/downloads.svg :target: https://anaconda.org/conda-forge/pytest-pylint .. image:: https://img.shields.io/pypi/l/pytest-pylint.svg :target: https://pypi.python.org/pypi/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

.. code-block:: shell

py.test --pylint

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

.. code-block:: shell

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:

.. code-block:: shell

py.test --pylint -m pylint

Acknowledgements

This code is heavily based on pytest-flakes <https://github.com/fschulze/pytest-flakes>__

Development

If you want to help development, there is overview documentation <https://github.com/carsongee/pytest-pylint/blob/master/DEVELOPMENT.rst>_

Releases

0.21.0

- Dropped support for pytest < 7.0 in preparation for pytest 8.0 (should work with it when it comes out)
- Dropped support for pylint < 2.15 to work better with Python 3.11 and drop backwards compatibility code
- Use baked in TOML support with fallback to newer tomli library thanks to `mgorny <https://github.com/mgorny>`__


0.20.0
  • Corrected issues introduced by deprecations in pylint
  • Added support for Python 3.12 and dropped support for Python 3.7
  • Last version that will support pytest < 7 and pylint < 2.6

0.19.0


- Switched to GitHub Actions for CI thanks to `michael-k <https://github.com/michael-k>`__
- Switched to using smart PyLint RC discovery thanks to `bennyrowland <https://github.com/bennyrowland>`__
- Correcting rootdir/rootpath issues in pytest >7.x
- Deprecated support for Python <3.7


0.18.0
  • Added support for creating missing folders when using --pylint-output-file
  • Now when pylint's ignore_patterns is blank, we don't ignore all files
  • Added cache invalidation when your pylintrc changes
  • Verified support for latest pytest and Python 3.9
  • Corrected badly named nodes (duplicated path) thanks to yanqd0 <https://github.com/yanqd0>__
  • Added tests to source distribution thanks to sbraz <https://github.com/sbraz>__

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 <https://github.com/dineshtrivedi>`_
- Added support for toml based configuration of pylint thanks to `michael-k <https://github.com/michael-k>`_


0.15.1
  • Made --no-pylint functional again

0.15.0


- Added support for Python 3.8 thanks to `michael-k <https://github.com/michael-k>`_
- Implemented option to output Pylint results to a reports file thanks to `jose-lpa <https://github.com/jose-lpa>`_
- Refactored into simpler plugin structure


0.14.1
  • Corrected pytest-pylint to properly support -p no:cacheprovider thanks to yanqd0 <https://github.com/yanqd0>__

0.14.0


- Added support for Pylint's ignore-patterns for regex based ignores
  thanks to `khokhlin <https://github.com/khokhlin>`__
- pytest-pylint now caches successful pylint checks to speedup test
  reruns when files haven't changed thanks to `yanqd0
  <https://github.com/yanqd0>`__

0.13.0
  • Python 3.7 compatibility verified
  • Ignore paths no longer match partial names thanks to heoga <https://github.com/heoga>__

0.12.3


- `jamur2 <https://github.com/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 <https://github.com/skirpichev>__ and jamur2 <https://github.com/jamur2>__

0.12.1


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

0.12.0
  • jwkvam <https://github.com/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 <https://github.com/jwkvam>__ provided support for pylint 2.0

0.9.0


- `noisecapella <https://github.com/noisecapella>`__ added an option to
  run pylint with multiple processes

0.8.0
  • bdrung <https://github.com/bdrung>__ corrected inconsistent returns in a function
  • Dropped Python 3.3 support

0.7.1


- Corrected path issue reported by `Kargathia <https://github.com/Kargathia>`_

0.7.0
  • Linting is performed before tests which enables code duplication checks to work along with a performance boost, thanks to @heoga
版本列表
0.21.0 2023-10-06
0.20.0 2023-10-06
0.19.0 2022-09-10
0.18.0 2020-11-09
0.17.0 2020-05-05
0.16.1 2020-04-26
0.16.0 2020-04-25
0.15.1 2020-03-05
0.15.0 2020-02-10
0.14.1 2019-07-16
0.14.0 2019-01-15
0.13.0 2018-11-26
0.12.3 2018-09-03
0.12.2 2018-09-01
0.12.1 2018-08-02
0.12.0 2018-07-30
0.11.0 2018-07-02
0.10.0 2018-07-01
0.9.0 2018-02-28
0.8.0 2018-02-02
0.7.1 2017-04-16
0.7.0 2017-02-04
0.6.0 2016-07-23
0.5.0 2016-04-02
0.4.1 2015-12-13
0.4.0 2015-09-28
0.3.0 2015-06-14
0.2.0 2015-04-24
0.1.0 2015-04-24