summaryrefslogtreecommitdiff
path: root/tests/message
diff options
context:
space:
mode:
authorDaniƫl van Noord <13665637+DanielNoord@users.noreply.github.com>2021-09-04 18:52:55 +0200
committerGitHub <noreply@github.com>2021-09-04 18:52:55 +0200
commit25000863761220c1aa5db129e3cd41f5fe51b167 (patch)
treed211e4464a8aef25f969adffe7ba7cb6df8b8981 /tests/message
parent6c818310fd0e2396b6333ad623da577bf84e361e (diff)
downloadpylint-git-25000863761220c1aa5db129e3cd41f5fe51b167.tar.gz
Add typing with `PyAnnotate` to `./tests` (#4950)
* Add mypy_extensions to requirement for ``NoReturn`` Co-authored-by: Pierre Sassoulas <pierre.sassoulas@gmail.com>
Diffstat (limited to 'tests/message')
-rw-r--r--tests/message/conftest.py16
-rw-r--r--tests/message/unittest_message.py9
-rw-r--r--tests/message/unittest_message_definition.py20
-rw-r--r--tests/message/unittest_message_definition_store.py32
-rw-r--r--tests/message/unittest_message_id_store.py21
5 files changed, 58 insertions, 40 deletions
diff --git a/tests/message/conftest.py b/tests/message/conftest.py
index 942119076..e30dbb535 100644
--- a/tests/message/conftest.py
+++ b/tests/message/conftest.py
@@ -3,10 +3,12 @@
# pylint: disable=redefined-outer-name
+from typing import Dict, ValuesView
+
import pytest
from pylint.checkers import BaseChecker
-from pylint.message import MessageDefinitionStore, MessageIdStore
+from pylint.message import MessageDefinition, MessageDefinitionStore, MessageIdStore
@pytest.fixture
@@ -20,12 +22,12 @@ def symbol():
@pytest.fixture
-def empty_store():
+def empty_store() -> MessageDefinitionStore:
return MessageDefinitionStore()
@pytest.fixture
-def store():
+def store() -> MessageDefinitionStore:
store_ = MessageDefinitionStore()
class Checker(BaseChecker):
@@ -50,12 +52,12 @@ def store():
@pytest.fixture
-def message_definitions(store):
+def message_definitions(store: MessageDefinitionStore) -> ValuesView[MessageDefinition]:
return store.messages
@pytest.fixture
-def msgids():
+def msgids() -> Dict[str, str]:
return {
"W1234": "warning-symbol",
"W1235": "warning-symbol-two",
@@ -65,12 +67,12 @@ def msgids():
@pytest.fixture
-def empty_msgid_store():
+def empty_msgid_store() -> MessageIdStore:
return MessageIdStore()
@pytest.fixture
-def msgid_store(msgids):
+def msgid_store(msgids: Dict[str, str]) -> MessageIdStore:
msgid_store = MessageIdStore()
for msgid, symbol in msgids.items():
msgid_store.add_msgid_and_symbol(msgid, symbol)
diff --git a/tests/message/unittest_message.py b/tests/message/unittest_message.py
index 5a02c26a0..6f8b4aa01 100644
--- a/tests/message/unittest_message.py
+++ b/tests/message/unittest_message.py
@@ -1,11 +1,16 @@
# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
# For details: https://github.com/PyCQA/pylint/blob/main/LICENSE
+from typing import Dict, ValuesView
+
from pylint.message import Message
+from pylint.message.message_definition import MessageDefinition
-def test_new_message(message_definitions):
- def build_message(message_definition, location_value):
+def test_new_message(message_definitions: ValuesView[MessageDefinition]) -> None:
+ def build_message(
+ message_definition: MessageDefinition, location_value: Dict[str, str]
+ ) -> Message:
return Message(
symbol=message_definition.symbol,
msg_id=message_definition.msgid,
diff --git a/tests/message/unittest_message_definition.py b/tests/message/unittest_message_definition.py
index 743499424..2015c2154 100644
--- a/tests/message/unittest_message_definition.py
+++ b/tests/message/unittest_message_definition.py
@@ -46,7 +46,7 @@ class FalseChecker(BaseChecker):
class TestMessagesDefinition:
@staticmethod
- def assert_with_fail_msg(msg, expected=True):
+ def assert_with_fail_msg(msg: MessageDefinition, expected: bool = True) -> None:
fail_msg = (
f"With minversion='{msg.minversion}' and maxversion='{msg.maxversion}',"
f" and the python interpreter being {sys.version_info} "
@@ -58,19 +58,19 @@ class TestMessagesDefinition:
assert not msg.may_be_emitted(), fail_msg.format(" not ")
@staticmethod
- def get_message_definition():
- args = [
+ def get_message_definition() -> MessageDefinition:
+ kwargs = {"minversion": None, "maxversion": None}
+ return MessageDefinition(
FalseChecker(),
"W1234",
"message",
"description",
"msg-symbol",
WarningScope.NODE,
- ]
- kwargs = {"minversion": None, "maxversion": None}
- return MessageDefinition(*args, **kwargs)
+ **kwargs,
+ )
- def test_may_be_emitted(self):
+ def test_may_be_emitted(self) -> None:
major = sys.version_info.major
minor = sys.version_info.minor
msg = self.get_message_definition()
@@ -85,7 +85,7 @@ class TestMessagesDefinition:
msg.maxversion = (major, minor - 1)
self.assert_with_fail_msg(msg, expected=False)
- def test_repr(self):
+ def test_repr(self) -> None:
msg = self.get_message_definition()
repr_str = str([msg, msg])
assert "W1234" in repr_str
@@ -93,7 +93,7 @@ class TestMessagesDefinition:
expected = "[MessageDefinition:msg-symbol-one (W1234), MessageDefinition:msg-symbol-two (W1235)]"
assert str(FalseChecker().messages) == expected
- def test_str(self):
+ def test_str(self) -> None:
msg = self.get_message_definition()
str_msg = str(msg)
assert "W1234" in str_msg
@@ -102,7 +102,7 @@ class TestMessagesDefinition:
message one msg description"""
assert str(FalseChecker().messages[0]) == expected
- def test_format_help(self):
+ def test_format_help(self) -> None:
msg = self.get_message_definition()
major = sys.version_info.major
minor = sys.version_info.minor
diff --git a/tests/message/unittest_message_definition_store.py b/tests/message/unittest_message_definition_store.py
index a08ca7c86..4d108489e 100644
--- a/tests/message/unittest_message_definition_store.py
+++ b/tests/message/unittest_message_definition_store.py
@@ -5,10 +5,12 @@ from contextlib import redirect_stdout
from io import StringIO
import pytest
+from _pytest.capture import CaptureFixture
from pylint.checkers import BaseChecker
from pylint.exceptions import InvalidMessageError, UnknownMessageError
from pylint.message import MessageDefinition
+from pylint.message.message_definition_store import MessageDefinitionStore
@pytest.mark.parametrize(
@@ -126,7 +128,9 @@ def test_register_error(empty_store, messages, expected):
assert str(cm.value) == expected
-def test_register_error_new_id_duplicate_of_new(empty_store):
+def test_register_error_new_id_duplicate_of_new(
+ empty_store: MessageDefinitionStore,
+) -> None:
class CheckerOne(BaseChecker):
name = "checker_one"
msgs = {"W1234": ("message one", "msg-symbol-one", "msg description.")}
@@ -143,7 +147,7 @@ def test_register_error_new_id_duplicate_of_new(empty_store):
)
-def test_format_help(capsys, store):
+def test_format_help(capsys: CaptureFixture, store: MessageDefinitionStore) -> None:
store.help_message([])
captured = capsys.readouterr()
assert captured.out == ""
@@ -165,12 +169,12 @@ No such message id or symbol 'C1234'.
)
-def test_get_msg_display_string(store):
+def test_get_msg_display_string(store: MessageDefinitionStore) -> None:
assert store.get_msg_display_string("W1234") == "'msg-symbol'"
assert store.get_msg_display_string("E1234") == "'duplicate-keyword-arg'"
-def test_check_message_id(store):
+def test_check_message_id(store: MessageDefinitionStore) -> None:
w1234 = store.get_message_definitions("W1234")[0]
w0001 = store.get_message_definitions("W0001")[0]
e1234 = store.get_message_definitions("E1234")[0]
@@ -185,10 +189,12 @@ def test_check_message_id(store):
class TestMessageDefinitionStore:
@staticmethod
- def _compare_messages(desc, msg, checkerref=False):
+ def _compare_messages(
+ desc: str, msg: MessageDefinition, checkerref: bool = False
+ ) -> None:
assert desc == msg.format_help(checkerref=checkerref)
- def test_message_help(self, store):
+ def test_message_help(self, store: MessageDefinitionStore) -> None:
message_definition = store.get_message_definitions("W1234")[0]
self._compare_messages(
""":msg-symbol (W1234): *message*
@@ -203,7 +209,7 @@ class TestMessageDefinitionStore:
checkerref=False,
)
- def test_message_help_minmax(self, store):
+ def test_message_help_minmax(self, store: MessageDefinitionStore) -> None:
# build the message manually to be python version independent
message_definition = store.get_message_definitions("E1234")[0]
self._compare_messages(
@@ -223,7 +229,7 @@ class TestMessageDefinitionStore:
)
-def test_list_messages(store):
+def test_list_messages(store: MessageDefinitionStore) -> None:
output = StringIO()
with redirect_stdout(output):
store.list_messages()
@@ -231,12 +237,12 @@ def test_list_messages(store):
assert ":msg-symbol (W1234): *message*" in output.getvalue()
-def test_renamed_message_register(store):
+def test_renamed_message_register(store: MessageDefinitionStore) -> None:
assert store.get_message_definitions("W0001")[0].symbol == "msg-symbol"
assert store.get_message_definitions("old-symbol")[0].symbol == "msg-symbol"
-def test_multiple_child_of_old_name(store):
+def test_multiple_child_of_old_name(store: MessageDefinitionStore) -> None:
"""We can define multiple name with the same old name."""
class FamillyChecker(BaseChecker):
@@ -263,7 +269,5 @@ def test_multiple_child_of_old_name(store):
assert len(mother) == 2
assert len(child) == 1
assert len(other_child) == 1
- child = child[0]
- other_child = other_child[0]
- assert child in mother
- assert other_child in mother
+ assert child[0] in mother
+ assert other_child[0] in mother
diff --git a/tests/message/unittest_message_id_store.py b/tests/message/unittest_message_id_store.py
index e61aba66b..340b23d32 100644
--- a/tests/message/unittest_message_id_store.py
+++ b/tests/message/unittest_message_id_store.py
@@ -1,12 +1,16 @@
# Licensed under the GPL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html
# For details: https://github.com/PyCQA/pylint/blob/main/LICENSE
+from typing import Dict, ValuesView
+
import pytest
from pylint.exceptions import InvalidMessageError, UnknownMessageError
+from pylint.message.message_definition import MessageDefinition
+from pylint.message.message_id_store import MessageIdStore
-def test_len_str(msgid_store, msgids):
+def test_len_str(msgid_store: MessageIdStore, msgids: Dict[str, str]) -> None:
assert len(msgid_store) == len(msgids)
str_result = str(msgid_store)
assert "MessageIdStore: [" in str_result
@@ -17,7 +21,7 @@ def test_len_str(msgid_store, msgids):
assert "]" in str_result
-def test_get_message_ids(msgid_store, msgids):
+def test_get_message_ids(msgid_store: MessageIdStore, msgids: Dict[str, str]) -> None:
"""We can get message id even with capitalization problem."""
msgid = list(msgids.keys())[0]
msgids_result = msgid_store.get_active_msgids(msgid.lower())
@@ -25,14 +29,17 @@ def test_get_message_ids(msgid_store, msgids):
assert msgid == msgids_result[0]
-def test_get_message_ids_not_existing(empty_msgid_store):
+def test_get_message_ids_not_existing(empty_msgid_store: MessageIdStore) -> None:
with pytest.raises(UnknownMessageError) as error:
w9876 = "W9876"
empty_msgid_store.get_active_msgids(w9876)
assert w9876 in str(error.value)
-def test_register_message_definitions(empty_msgid_store, message_definitions):
+def test_register_message_definitions(
+ empty_msgid_store: MessageIdStore,
+ message_definitions: ValuesView[MessageDefinition],
+) -> None:
number_of_msgid = len(message_definitions)
for message_definition in message_definitions:
empty_msgid_store.register_message_definition(
@@ -45,7 +52,7 @@ def test_register_message_definitions(empty_msgid_store, message_definitions):
assert len(empty_msgid_store) == number_of_msgid
-def test_add_msgid_and_symbol(empty_msgid_store):
+def test_add_msgid_and_symbol(empty_msgid_store: MessageIdStore) -> None:
empty_msgid_store.add_msgid_and_symbol("E1235", "new-sckiil")
empty_msgid_store.add_legacy_msgid_and_symbol("C1235", "old-sckiil", "E1235")
assert len(empty_msgid_store) == 2
@@ -65,7 +72,7 @@ def test_add_msgid_and_symbol(empty_msgid_store):
empty_msgid_store.get_msgid("not-exist")
-def test_duplicate_symbol(empty_msgid_store):
+def test_duplicate_symbol(empty_msgid_store: MessageIdStore) -> None:
empty_msgid_store.add_msgid_and_symbol("W1234", "warning-symbol")
with pytest.raises(InvalidMessageError) as error:
empty_msgid_store.check_msgid_and_symbol("W1234", "other-symbol")
@@ -75,7 +82,7 @@ def test_duplicate_symbol(empty_msgid_store):
)
-def test_duplicate_msgid(msgid_store):
+def test_duplicate_msgid(msgid_store: MessageIdStore) -> None:
msgid_store.add_msgid_and_symbol("W1234", "warning-symbol")
with pytest.raises(InvalidMessageError) as error:
msgid_store.check_msgid_and_symbol("W1235", "warning-symbol")