File: test_pyflakes_codes.py

package info (click to toggle)
python-flake8 7.1.1-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,212 kB
  • sloc: python: 6,592; sh: 21; makefile: 19
file content (35 lines) | stat: -rw-r--r-- 1,007 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
"""Tests of pyflakes monkey patches."""
from __future__ import annotations

import ast

import pyflakes

from flake8.plugins import pyflakes as pyflakes_shim


def test_all_pyflakes_messages_have_flake8_codes_assigned():
    """Verify all PyFlakes messages have error codes assigned."""
    messages = {
        name
        for name, obj in vars(pyflakes.messages).items()
        if name[0].isupper() and obj.message
    }
    assert messages == set(pyflakes_shim.FLAKE8_PYFLAKES_CODES)


def test_undefined_local_code():
    """In pyflakes 2.1.0 this code's string formatting was changed."""
    src = """\
import sys

def f():
    sys = sys
"""
    tree = ast.parse(src)
    checker = pyflakes_shim.FlakesChecker(tree, "t.py")
    message_texts = [s for _, _, s, _ in checker.run()]
    assert message_texts == [
        "F823 local variable 'sys' defined in enclosing scope on line 1 referenced before assignment",  # noqa: E501
        "F841 local variable 'sys' is assigned to but never used",
    ]