[Python-checkins] bpo-11105: document the new test.support.infinite_recursion context manager (GH-26604)

isidentical webhook-mailer at python.org
Tue Jun 8 13:39:24 EDT 2021


https://github.com/python/cpython/commit/8004c4570b1d1277ea8754e22b5eb60e63f5026c
commit: 8004c4570b1d1277ea8754e22b5eb60e63f5026c
branch: main
author: Batuhan Taskaya <batuhan at python.org>
committer: isidentical <isidentical at gmail.com>
date: 2021-06-08T20:39:03+03:00
summary:

bpo-11105: document the new test.support.infinite_recursion context manager (GH-26604)

files:
M Lib/test/support/__init__.py

diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py
index d17331e6e89b7..933c2c99b292e 100644
--- a/Lib/test/support/__init__.py
+++ b/Lib/test/support/__init__.py
@@ -49,7 +49,7 @@
     # processes
     "reap_children",
     # miscellaneous
-    "run_with_locale", "swap_item", "findfile",
+    "run_with_locale", "swap_item", "findfile", "infinite_recursion",
     "swap_attr", "Matcher", "set_memlimit", "SuppressCrashReport", "sortdict",
     "run_with_tz", "PGO", "missing_compiler_executable",
     "ALWAYS_EQ", "NEVER_EQ", "LARGEST", "SMALLEST",
@@ -2002,6 +2002,12 @@ def check_disallow_instantiation(testcase, tp, *args, **kwds):
 
 @contextlib.contextmanager
 def infinite_recursion(max_depth=75):
+    """Set a lower limit for tests that interact with infinite recursions
+    (e.g test_ast.ASTHelpers_Test.test_recursion_direct) since on some
+    debug windows builds, due to not enough functions being inlined the
+    stack size might not handle the default recursion limit (1000). See
+    bpo-11105 for details."""
+
     original_depth = sys.getrecursionlimit()
     try:
         sys.setrecursionlimit(max_depth)



More information about the Python-checkins mailing list