示例#1
0
def test_base_checker_ordering() -> None:
    """Test ordering of checkers based on their __gt__ method."""
    linter = PyLinter()
    fake_checker_1 = OtherBasicChecker()
    fake_checker_2 = LessBasicChecker()
    fake_checker_3 = DifferentBasicChecker()
    import_checker = ImportsChecker(linter)
    while_checker = WhileChecker(linter)
    type_checker = TypeChecker(linter)

    list_of_checkers = [
        1,
        fake_checker_1,
        fake_checker_2,
        fake_checker_3,
        type_checker,
        import_checker,
        while_checker,
        linter,
    ]
    assert sorted(list_of_checkers) == [  # type: ignore[type-var]
        linter,
        import_checker,
        type_checker,
        fake_checker_3,
        fake_checker_1,
        fake_checker_2,
        while_checker,
        1,
    ]
    assert fake_checker_1 > fake_checker_3
    assert fake_checker_2 > fake_checker_3
    assert fake_checker_1 == fake_checker_2
示例#2
0
 def __init__(self) -> None:
     super().__init__(PyLinter())
示例#3
0
from pylint.lint.pylinter import PyLinter
from pylint.message._deleted_message_ids import DELETED_MSGID_PREFIXES


def register_all_checkers_and_plugins(linter: PyLinter) -> None:
    """Registers all checkers and plugins."""
    linter.cmdline_parser.set_conflict_handler("resolve")
    initialize_checkers(linter)
    initialize_extensions(linter)


def get_next_code_category(message_ids: list[str]) -> int:
    categories = sorted({int(i[:2]) for i in message_ids})
    # We add the prefixes for deleted checkers
    categories += DELETED_MSGID_PREFIXES
    for i in categories:
        if i + 1 not in categories:
            return i + 1
    return categories[-1] + 1


if __name__ == "__main__":
    pylinter = PyLinter()
    register_all_checkers_and_plugins(pylinter)
    messages = sorted(i.msgid[1:] for i in pylinter.msgs_store.messages)
    next_category = get_next_code_category(messages)
    print(f"Next free message id category is {next_category:02}")
    print(
        f"Please use {next_category:02}01 for the first message of the new checker"
    )
示例#4
0
    def test_load_text_repoter_if_not_provided() -> None:
        """Test if PyLinter.reporter is a TextReporter if no reporter is provided"""
        linter = PyLinter()

        assert isinstance(linter.reporter, TextReporter)