Assign missing codes to PyFlakes messages

Some PyFlakes messages weren't covered by unique messages, making them
impossible to select/ignore. This is now fixed.

To ensure we don't regress in the future, a test has been added that fails if
there's any uncovered messages.
This commit is contained in:
Lukasz Langa 2016-11-27 17:42:00 -08:00
parent b8ce1334d0
commit 2f1338c342
4 changed files with 85 additions and 18 deletions

View file

@ -6,6 +6,9 @@ You can view the `3.3.0 milestone`_ on GitLab for more details.
- Fix problem where hooks should only check \*.py files. (See also
`GitLab#268`_)
- Added unique error codes for all missing PyFlakes messages (14 new
codes, see all :ref:`Error / Violation Codes <error_codes>`)
.. links
.. _3.3.0 milestone:
https://gitlab.com/pycqa/flake8/milestones/16

View file

@ -1,3 +1,5 @@
.. _error_codes:
=========================
Error / Violation Codes
=========================
@ -22,6 +24,36 @@ generates its own :term:`error code`\ s for ``pyflakes``:
+------+---------------------------------------------------------------------+
| F405 | ``name`` may be undefined, or defined from star imports: ``module`` |
+------+---------------------------------------------------------------------+
| F406 | 'from ``module`` import \*' only allowed at module level |
+------+---------------------------------------------------------------------+
| F407 | an undefined ``__future__`` feature name was imported |
+------+---------------------------------------------------------------------+
+------+---------------------------------------------------------------------+
| F601 | dictionary key ``name`` repeated with different values |
+------+---------------------------------------------------------------------+
| F602 | dictionary key variable ``name`` repeated with different values |
+------+---------------------------------------------------------------------+
| F621 | too many expressions in an assignment with star-unpacking |
+------+---------------------------------------------------------------------+
| F622 | two or more starred expressions in an assignment ``(a, *b, *c = d)``|
+------+---------------------------------------------------------------------+
| F631 | assertion test is a tuple, which are always ``True`` |
+------+---------------------------------------------------------------------+
+------+---------------------------------------------------------------------+
| F701 | a ``break`` statement outside of a ``while`` or ``for`` loop |
+------+---------------------------------------------------------------------+
| F702 | a ``continue`` statement outside of a ``while`` or ``for`` loop |
+------+---------------------------------------------------------------------+
| F703 | a ``continue`` statement in a ``finally`` block in a loop |
+------+---------------------------------------------------------------------+
| F704 | a ``yield`` or ``yield from`` statement outside of a function |
+------+---------------------------------------------------------------------+
| F705 | a ``return`` statement with arguments inside a generator |
+------+---------------------------------------------------------------------+
| F706 | a ``return`` statement outside of a function/method |
+------+---------------------------------------------------------------------+
| F707 | an ``except:`` block as not the last exception handler |
+------+---------------------------------------------------------------------+
+------+---------------------------------------------------------------------+
| F811 | redefinition of unused ``name`` from line ``N`` |
+------+---------------------------------------------------------------------+
@ -29,7 +61,7 @@ generates its own :term:`error code`\ s for ``pyflakes``:
+------+---------------------------------------------------------------------+
| F821 | undefined name ``name`` |
+------+---------------------------------------------------------------------+
| F822 | undefined name ``name`` in __all__ |
| F822 | undefined name ``name`` in ``__all__`` |
+------+---------------------------------------------------------------------+
| F823 | local variable ``name`` ... referenced before assignment |
+------+---------------------------------------------------------------------+