]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-38870: Use subTest in test_unparse for better error reporting (GH-20141)
authorPablo Galindo <Pablogsal@gmail.com>
Sun, 17 May 2020 02:53:57 +0000 (03:53 +0100)
committerGitHub <noreply@github.com>
Sun, 17 May 2020 02:53:57 +0000 (03:53 +0100)
Lib/test/test_unparse.py

index d543ca2526eceed5f692dc75a28f874d7bf336b3..67dcb1dae79ff20eb6cf5e7c2c0a46eff8deb049 100644 (file)
@@ -120,13 +120,15 @@ class ASTTestCase(unittest.TestCase):
         self.assertEqual(ast.dump(ast1), ast.dump(ast2))
 
     def check_ast_roundtrip(self, code1, **kwargs):
-        ast1 = ast.parse(code1, **kwargs)
-        code2 = ast.unparse(ast1)
-        ast2 = ast.parse(code2, **kwargs)
-        self.assertASTEqual(ast1, ast2)
+        with self.subTest(code1=code1, ast_parse_kwargs=kwargs):
+            ast1 = ast.parse(code1, **kwargs)
+            code2 = ast.unparse(ast1)
+            ast2 = ast.parse(code2, **kwargs)
+            self.assertASTEqual(ast1, ast2)
 
     def check_invalid(self, node, raises=ValueError):
-        self.assertRaises(raises, ast.unparse, node)
+        with self.subTest(node=node):
+            self.assertRaises(raises, ast.unparse, node)
 
     def get_source(self, code1, code2=None):
         code2 = code2 or code1
@@ -135,11 +137,13 @@ class ASTTestCase(unittest.TestCase):
 
     def check_src_roundtrip(self, code1, code2=None):
         code1, code2 = self.get_source(code1, code2)
-        self.assertEqual(code2, code1)
+        with self.subTest(code1=code1, code2=code2):
+            self.assertEqual(code2, code1)
 
     def check_src_dont_roundtrip(self, code1, code2=None):
         code1, code2 = self.get_source(code1, code2)
-        self.assertNotEqual(code2, code1)
+        with self.subTest(code1=code1, code2=code2):
+            self.assertNotEqual(code2, code1)
 
 class UnparseTestCase(ASTTestCase):
     # Tests for specific bugs found in earlier versions of unparse