summaryrefslogtreecommitdiffstats
path: root/Lib/test/support/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/support/__init__.py')
-rw-r--r--Lib/test/support/__init__.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py
index d17331e..933c2c9 100644
--- a/Lib/test/support/__init__.py
+++ b/Lib/test/support/__init__.py
@@ -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)