]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-11105: document the new test.support.infinite_recursion context manager (GH-26604)
authorBatuhan Taskaya <batuhan@python.org>
Tue, 8 Jun 2021 17:39:03 +0000 (20:39 +0300)
committerGitHub <noreply@github.com>
Tue, 8 Jun 2021 17:39:03 +0000 (20:39 +0300)
Lib/test/support/__init__.py

index d17331e6e89b7d022b7af35f2905381eeceff50e..933c2c99b292e5fc3433f982410ea1247edfe97d 100644 (file)
@@ -49,7 +49,7 @@ __all__ = [
     # 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)