Skip to content

Commit 6341fc7

Browse files
authored
bpo-38870: Use subTest in test_unparse for better error reporting (GH-20141)
1 parent af8e5f8 commit 6341fc7

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

Lib/test/test_unparse.py

+11-7
Original file line numberDiff line numberDiff line change
@@ -120,13 +120,15 @@ def assertASTEqual(self, ast1, ast2):
120120
self.assertEqual(ast.dump(ast1), ast.dump(ast2))
121121

122122
def check_ast_roundtrip(self, code1, **kwargs):
123-
ast1 = ast.parse(code1, **kwargs)
124-
code2 = ast.unparse(ast1)
125-
ast2 = ast.parse(code2, **kwargs)
126-
self.assertASTEqual(ast1, ast2)
123+
with self.subTest(code1=code1, ast_parse_kwargs=kwargs):
124+
ast1 = ast.parse(code1, **kwargs)
125+
code2 = ast.unparse(ast1)
126+
ast2 = ast.parse(code2, **kwargs)
127+
self.assertASTEqual(ast1, ast2)
127128

128129
def check_invalid(self, node, raises=ValueError):
129-
self.assertRaises(raises, ast.unparse, node)
130+
with self.subTest(node=node):
131+
self.assertRaises(raises, ast.unparse, node)
130132

131133
def get_source(self, code1, code2=None):
132134
code2 = code2 or code1
@@ -135,11 +137,13 @@ def get_source(self, code1, code2=None):
135137

136138
def check_src_roundtrip(self, code1, code2=None):
137139
code1, code2 = self.get_source(code1, code2)
138-
self.assertEqual(code2, code1)
140+
with self.subTest(code1=code1, code2=code2):
141+
self.assertEqual(code2, code1)
139142

140143
def check_src_dont_roundtrip(self, code1, code2=None):
141144
code1, code2 = self.get_source(code1, code2)
142-
self.assertNotEqual(code2, code1)
145+
with self.subTest(code1=code1, code2=code2):
146+
self.assertNotEqual(code2, code1)
143147

144148
class UnparseTestCase(ASTTestCase):
145149
# Tests for specific bugs found in earlier versions of unparse

0 commit comments

Comments
 (0)