pytest plugin to check FLAKE8 requirements
Project description
py.test plugin for efficiently checking PEP8 compliance
=======================================================
Usage
-----
Install by running the command::
pip install pytest-flake8
After installing it, when you run tests with the option::
py.test --flake8
every file ending in ``.py`` will be discovered and checked with
flake8.
.. note::
If optional flake8 plugins are installed, those will
be used automatically. No provisions have been made for
configuring these via py.test.
.. warning::
Running flake8 tests on your project is likely to cause a number
of issues. The plugin allows one to configure on a per-project and
per-file basis which errors or warnings to ignore, see
flake8-ignore_.
.. _flake8-ignore:
Configuring FLAKE8 options per project and file
-----------------------------------------------
Maximum line length can be configured for the whole project
by adding a ``flake8-max-line-length`` option to your ``setup.cfg``
or ``tox.ini`` file like this::
# content of setup.cfg
[pytest]
flake8-max-line-length = 99
Note that the default will be what naturally comes with flake8_
(which it turn gets its default from pep8_).
You may configure flake8-checking options for your project
by adding an ``flake8-ignore`` entry to your ``setup.cfg``
or ``tox.ini`` file like this::
# content of setup.cfg
[pytest]
flake8-ignore = E201 E231
This would globally prevent complaints about two whitespace issues.
Rerunning with the above example will now look better::
$ py.test -q --flake8
collecting ... collected 1 items
.
1 passed in 0.01 seconds
If you have some files where you want to specifically ignore
some errors or warnings you can start a flake8-ignore line with
a glob-pattern and a space-separated list of codes::
# content of setup.cfg
[pytest]
flake8-ignore =
*.py E201
doc/conf.py ALL
So if you have a conf.py like this::
# content of doc/conf.py
func ( [1,2,3]) #this line lots pep8 errors :)
then running again with the previous example will show a single
failure and it will ignore doc/conf.py alltogether::
$ py.test --flake8 -v # verbose shows what is ignored
======================================= test session starts ========================================
platform darwin -- Python 2.7.6 -- py-1.4.26 -- pytest-2.7.0 -- /Users/tholo/Source/pytest/bin/python
cachedir: /Users/tholo/Source/pytest/src/verify/.cache
rootdir: /Users/tholo/Source/angular/src/verify, inifile: setup.cfg
plugins: flake8, cache
collected 1 items
myfile.py PASSED
========================================= 1 passed in 0.00 seconds =========================================
Note that doc/conf.py was not considered or imported.
Notes
-----
The repository of this plugin is at https://github.com/tholo/pytest-flake8
For more info on py.test see http://pytest.org
The code is partially based on Ronny Pfannschmidt's pytest-codecheckers plugin.
=======================================================
Usage
-----
Install by running the command::
pip install pytest-flake8
After installing it, when you run tests with the option::
py.test --flake8
every file ending in ``.py`` will be discovered and checked with
flake8.
.. note::
If optional flake8 plugins are installed, those will
be used automatically. No provisions have been made for
configuring these via py.test.
.. warning::
Running flake8 tests on your project is likely to cause a number
of issues. The plugin allows one to configure on a per-project and
per-file basis which errors or warnings to ignore, see
flake8-ignore_.
.. _flake8-ignore:
Configuring FLAKE8 options per project and file
-----------------------------------------------
Maximum line length can be configured for the whole project
by adding a ``flake8-max-line-length`` option to your ``setup.cfg``
or ``tox.ini`` file like this::
# content of setup.cfg
[pytest]
flake8-max-line-length = 99
Note that the default will be what naturally comes with flake8_
(which it turn gets its default from pep8_).
You may configure flake8-checking options for your project
by adding an ``flake8-ignore`` entry to your ``setup.cfg``
or ``tox.ini`` file like this::
# content of setup.cfg
[pytest]
flake8-ignore = E201 E231
This would globally prevent complaints about two whitespace issues.
Rerunning with the above example will now look better::
$ py.test -q --flake8
collecting ... collected 1 items
.
1 passed in 0.01 seconds
If you have some files where you want to specifically ignore
some errors or warnings you can start a flake8-ignore line with
a glob-pattern and a space-separated list of codes::
# content of setup.cfg
[pytest]
flake8-ignore =
*.py E201
doc/conf.py ALL
So if you have a conf.py like this::
# content of doc/conf.py
func ( [1,2,3]) #this line lots pep8 errors :)
then running again with the previous example will show a single
failure and it will ignore doc/conf.py alltogether::
$ py.test --flake8 -v # verbose shows what is ignored
======================================= test session starts ========================================
platform darwin -- Python 2.7.6 -- py-1.4.26 -- pytest-2.7.0 -- /Users/tholo/Source/pytest/bin/python
cachedir: /Users/tholo/Source/pytest/src/verify/.cache
rootdir: /Users/tholo/Source/angular/src/verify, inifile: setup.cfg
plugins: flake8, cache
collected 1 items
myfile.py PASSED
========================================= 1 passed in 0.00 seconds =========================================
Note that doc/conf.py was not considered or imported.
Notes
-----
The repository of this plugin is at https://github.com/tholo/pytest-flake8
For more info on py.test see http://pytest.org
The code is partially based on Ronny Pfannschmidt's pytest-codecheckers plugin.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pytest-flake8-0.2.tar.gz
(6.7 kB
view hashes)
Built Distribution
Close
Hashes for pytest_flake8-0.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1b8e571c3ea32c4624a4af69d0acf7d8ff322e93ac58d9354ee8d5c4fa54be5 |
|
MD5 | db1a84db312006d4346fad27ef7cd412 |
|
BLAKE2b-256 | 8b1df24a354c76db0c37e3e67a56e8c3bdd4eb560909ab26a21ee902763e8124 |