summaryrefslogtreecommitdiffstatshomepage
path: root/tests/misc/recursive_iternext.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/misc/recursive_iternext.py')
-rw-r--r--tests/misc/recursive_iternext.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/misc/recursive_iternext.py b/tests/misc/recursive_iternext.py
new file mode 100644
index 0000000000..ac3a17e93b
--- /dev/null
+++ b/tests/misc/recursive_iternext.py
@@ -0,0 +1,33 @@
+# This tests that recursion with iternext doesn't lead to segfault.
+
+try:
+ x = (1, 2)
+ for i in range(1000):
+ x = enumerate(x)
+ tuple(x)
+except RuntimeError:
+ print("RuntimeError")
+
+try:
+ x = (1, 2)
+ for i in range(1000):
+ x = filter(None, x)
+ tuple(x)
+except RuntimeError:
+ print("RuntimeError")
+
+try:
+ x = (1, 2)
+ for i in range(1000):
+ x = map(max, x, ())
+ tuple(x)
+except RuntimeError:
+ print("RuntimeError")
+
+try:
+ x = (1, 2)
+ for i in range(1000):
+ x = zip(x)
+ tuple(x)
+except RuntimeError:
+ print("RuntimeError")