From 166cc00c7cc7c448072cc6c2c6e3d94a5a3eb12c Mon Sep 17 00:00:00 2001 From: Jelle Zijlstra Date: Sat, 18 May 2024 10:09:10 -0400 Subject: [PATCH] Fix more mypy issues --- src/_pytest/assertion/rewrite.py | 6 ++---- testing/test_assertrewrite.py | 1 + 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/_pytest/assertion/rewrite.py b/src/_pytest/assertion/rewrite.py index 528c238e4..b29a254f5 100644 --- a/src/_pytest/assertion/rewrite.py +++ b/src/_pytest/assertion/rewrite.py @@ -835,7 +835,7 @@ class AssertionRewriter(ast.NodeVisitor): current = self.stack.pop() if self.stack: self.explanation_specifiers = self.stack[-1] - keys: List[ast.expr] = [ast.Constant(key) for key in current.keys()] + keys: List[Optional[ast.expr]] = [ast.Constant(key) for key in current.keys()] format_dict = ast.Dict(keys, list(current.values())) form = ast.BinOp(expl_expr, ast.Mod(), format_dict) name = "@py_format" + str(next(self.variable_counter)) @@ -959,9 +959,7 @@ class AssertionRewriter(ast.NodeVisitor): # Clear temporary variables by setting them to None. if self.variables: - variables: List[ast.expr] = [ - ast.Name(name, ast.Store()) for name in self.variables - ] + variables = [ast.Name(name, ast.Store()) for name in self.variables] clear = ast.Assign(variables, ast.Constant(None)) self.statements.append(clear) # Fix locations (line numbers/column offsets). diff --git a/testing/test_assertrewrite.py b/testing/test_assertrewrite.py index 82c7055b9..8db9dbbe5 100644 --- a/testing/test_assertrewrite.py +++ b/testing/test_assertrewrite.py @@ -130,6 +130,7 @@ class TestAssertionRewrite: if isinstance(node, ast.Import): continue for n in [node, *ast.iter_child_nodes(node)]: + assert isinstance(n, (ast.stmt, ast.expr)) assert n.lineno == 3 assert n.col_offset == 0 assert n.end_lineno == 6