Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/carsongee/pytest-pylint

pytest plugin for running pylint against your codebase
https://github.com/carsongee/pytest-pylint

Last synced: 11 days ago
JSON representation

pytest plugin for running pylint against your codebase

Awesome Lists containing this project

README

        

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 `__

Development
===========

If you want to help development, there is
`overview documentation `_

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 `__

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 `__
- Switched to using smart PyLint RC discovery thanks to `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 `__
- Added tests to source distribution thanks to `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 `_
- 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 inconsistent returns in a function
- Dropped Python 3.3 support

0.7.1
~~~~~

- Corrected path issue reported by `Kargathia `_

0.7.0
~~~~~

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