Skip to content

Commit 8dcb17f

Browse files
Merge branch 'stack-size' into unwind_stack_new
2 parents edde33a + 44c7d39 commit 8dcb17f

File tree

1 file changed

+88
-0
lines changed

1 file changed

+88
-0
lines changed

Lib/test/test_compile.py

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -872,6 +872,23 @@ def test_for_break_inside_finally_block(self):
872872
"""
873873
self.check_stack_size(snippet)
874874

875+
def test_for_break_continue_inside_except_block(self):
876+
snippet = """
877+
for x in y:
878+
try:
879+
t
880+
except:
881+
if z:
882+
break
883+
elif u:
884+
continue
885+
else:
886+
a
887+
else:
888+
b
889+
"""
890+
self.check_stack_size(snippet)
891+
875892
def test_for_break_continue_inside_with_block(self):
876893
snippet = """
877894
for x in y:
@@ -887,6 +904,52 @@ def test_for_break_continue_inside_with_block(self):
887904
"""
888905
self.check_stack_size(snippet)
889906

907+
def test_return_inside_try_finally_block(self):
908+
snippet = """
909+
try:
910+
if z:
911+
return
912+
else:
913+
a
914+
finally:
915+
f
916+
"""
917+
self.check_stack_size(snippet)
918+
919+
def test_return_inside_finally_block(self):
920+
snippet = """
921+
try:
922+
t
923+
finally:
924+
if z:
925+
return
926+
else:
927+
a
928+
"""
929+
self.check_stack_size(snippet)
930+
931+
def test_return_inside_except_block(self):
932+
snippet = """
933+
try:
934+
t
935+
except:
936+
if z:
937+
return
938+
else:
939+
a
940+
"""
941+
self.check_stack_size(snippet)
942+
943+
def test_return_inside_with_block(self):
944+
snippet = """
945+
with c:
946+
if z:
947+
return
948+
else:
949+
a
950+
"""
951+
self.check_stack_size(snippet)
952+
890953
def test_async_with(self):
891954
snippet = """
892955
async with x as y:
@@ -910,6 +973,31 @@ def test_async_for_else(self):
910973
"""
911974
self.check_stack_size(snippet, async_=True)
912975

976+
def test_for_break_continue_inside_async_with_block(self):
977+
snippet = """
978+
for x in y:
979+
async with c:
980+
if z:
981+
break
982+
elif u:
983+
continue
984+
else:
985+
a
986+
else:
987+
b
988+
"""
989+
self.check_stack_size(snippet, async_=True)
990+
991+
def test_return_inside_async_with_block(self):
992+
snippet = """
993+
async with c:
994+
if z:
995+
return
996+
else:
997+
a
998+
"""
999+
self.check_stack_size(snippet, async_=True)
1000+
9131001

9141002
if __name__ == "__main__":
9151003
unittest.main()

0 commit comments

Comments
 (0)