Skip to content

Commit 0c2163e

Browse files
authored
Update flush_errors to support different versions of mypy (#139)
mypy's flush_errors function has a different arity for different versions. <mypy-1.8.0: 2 >=mypy-1.8.0: 3 (our flush_errors discards the first 'filename' parameter)
1 parent c92accd commit 0c2163e

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

pytest_mypy_plugins/item.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,10 +82,11 @@ def run_mypy_typechecking(cmd_options: List[str], stdout: TextIO, stderr: TextIO
8282

8383
error_messages = []
8484

85-
# discard filename parameter '_'. Mypy uses it to generate
86-
# one junit-xml test entry per file with failures (--junit-format per_file)
87-
# and we don't support mypy's --junit-xml option in the first place.
88-
def flush_errors(_: str | None, new_messages: List[str], serious: bool) -> None:
85+
# Different mypy versions have different arity of `flush_errors`: 2 and 3 params
86+
def flush_errors(*args: Any) -> None:
87+
new_messages: List[str]
88+
serious: bool
89+
*_, new_messages, serious = args
8990
error_messages.extend(new_messages)
9091
f = stderr if serious else stdout
9192
try:

0 commit comments

Comments
 (0)