summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--tests/basics/try-finally-break.py14
-rw-r--r--tests/basics/try-finally-loops.py35
2 files changed, 35 insertions, 14 deletions
diff --git a/tests/basics/try-finally-break.py b/tests/basics/try-finally-break.py
deleted file mode 100644
index af1704da95..0000000000
--- a/tests/basics/try-finally-break.py
+++ /dev/null
@@ -1,14 +0,0 @@
-for i in range(4):
- print(i)
- try:
- while True:
- try:
- try:
- break
- finally:
- print('finally 1')
- finally:
- print('finally 2')
- print('here')
- finally:
- print('finnaly 3')
diff --git a/tests/basics/try-finally-loops.py b/tests/basics/try-finally-loops.py
new file mode 100644
index 0000000000..28a8373dc0
--- /dev/null
+++ b/tests/basics/try-finally-loops.py
@@ -0,0 +1,35 @@
+# Test various loop types, some may be implemented/optimized differently
+while True:
+ try:
+ break
+ finally:
+ print('finally 1')
+
+
+for i in [1, 5, 10]:
+ try:
+ continue
+ finally:
+ print('finally 2')
+
+for i in range(3):
+ try:
+ continue
+ finally:
+ print('finally 3')
+
+# Multi-level
+for i in range(4):
+ print(i)
+ try:
+ while True:
+ try:
+ try:
+ break
+ finally:
+ print('finally 1')
+ finally:
+ print('finally 2')
+ print('here')
+ finally:
+ print('finnaly 3')