Skip to content

Commit 07033ae

Browse files
Fix tests for ast.parse().
1 parent c04d874 commit 07033ae

File tree

2 files changed

+61
-55
lines changed

2 files changed

+61
-55
lines changed

Lib/test/test_ast/test_ast.py

Lines changed: 0 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1057,61 +1057,6 @@ def test_repr_large_input_crash(self):
10571057
r"Exceeds the limit \(\d+ digits\)"):
10581058
repr(ast.Constant(value=eval(source)))
10591059

1060-
def test_pep_765_warnings(self):
1061-
srcs = [
1062-
textwrap.dedent("""
1063-
def f():
1064-
try:
1065-
pass
1066-
finally:
1067-
return 42
1068-
"""),
1069-
textwrap.dedent("""
1070-
for x in y:
1071-
try:
1072-
pass
1073-
finally:
1074-
break
1075-
"""),
1076-
textwrap.dedent("""
1077-
for x in y:
1078-
try:
1079-
pass
1080-
finally:
1081-
continue
1082-
"""),
1083-
]
1084-
for src in srcs:
1085-
with self.assertWarnsRegex(SyntaxWarning, 'finally'):
1086-
ast.parse(src)
1087-
1088-
def test_pep_765_no_warnings(self):
1089-
srcs = [
1090-
textwrap.dedent("""
1091-
try:
1092-
pass
1093-
finally:
1094-
def f():
1095-
return 42
1096-
"""),
1097-
textwrap.dedent("""
1098-
try:
1099-
pass
1100-
finally:
1101-
for x in y:
1102-
break
1103-
"""),
1104-
textwrap.dedent("""
1105-
try:
1106-
pass
1107-
finally:
1108-
for x in y:
1109-
continue
1110-
"""),
1111-
]
1112-
for src in srcs:
1113-
ast.parse(src)
1114-
11151060
def test_tstring(self):
11161061
# Test AST structure for simple t-string
11171062
tree = ast.parse('t"Hello"')

Lib/test/test_compile.py

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1730,6 +1730,67 @@ def test_compile_warning_in_finally(self):
17301730
self.assertEqual(wm.category, SyntaxWarning)
17311731
self.assertIn("\"is\" with 'int' literal", str(wm.message))
17321732

1733+
@support.subTests('src', [
1734+
textwrap.dedent("""
1735+
def f():
1736+
try:
1737+
pass
1738+
finally:
1739+
return 42
1740+
"""),
1741+
textwrap.dedent("""
1742+
for x in y:
1743+
try:
1744+
pass
1745+
finally:
1746+
break
1747+
"""),
1748+
textwrap.dedent("""
1749+
for x in y:
1750+
try:
1751+
pass
1752+
finally:
1753+
continue
1754+
"""),
1755+
])
1756+
def test_pep_765_warnings(self, src):
1757+
with self.assertWarnsRegex(SyntaxWarning, 'finally'):
1758+
compile(src, '<string>', 'exec')
1759+
with warnings.catch_warnings():
1760+
warnings.simplefilter("error")
1761+
tree = ast.parse(src)
1762+
with self.assertWarnsRegex(SyntaxWarning, 'finally'):
1763+
compile(tree, '<string>', 'exec')
1764+
1765+
@support.subTests('src', [
1766+
textwrap.dedent("""
1767+
try:
1768+
pass
1769+
finally:
1770+
def f():
1771+
return 42
1772+
"""),
1773+
textwrap.dedent("""
1774+
try:
1775+
pass
1776+
finally:
1777+
for x in y:
1778+
break
1779+
"""),
1780+
textwrap.dedent("""
1781+
try:
1782+
pass
1783+
finally:
1784+
for x in y:
1785+
continue
1786+
"""),
1787+
])
1788+
def test_pep_765_no_warnings(self, src):
1789+
with warnings.catch_warnings():
1790+
warnings.simplefilter("error")
1791+
compile(src, '<string>', 'exec')
1792+
1793+
17331794
class TestBooleanExpression(unittest.TestCase):
17341795
class Value:
17351796
def __init__(self):

0 commit comments

Comments
 (0)