summaryrefslogtreecommitdiff
path: root/Lib/lib2to3/pytree.py
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2022-01-31 18:46:09 +0100
committerGitHub <noreply@github.com>2022-01-31 18:46:09 +0100
commitee0ac328d38a86f7907598c94cb88a97635b32f8 (patch)
treee80912369877fccc824a5e5c255e791a390c90e5 /Lib/lib2to3/pytree.py
parent768569325abc0a9cd5aae65c531889ec390847aa (diff)
downloadcpython-git-ee0ac328d38a86f7907598c94cb88a97635b32f8.tar.gz
bpo-46542: test_lib2to3 uses support.infinite_recursion() (GH-31035)
* bpo-46542: test_lib2to3 uses support.infinite_recursion() Fix a Python crash in test_lib2to3 when using Python built in debug mode: limit the recursion limit. The test_all_project_files() test of test_lib2to3 now uses the test.support.infinite_recursion() context manager when processing the infinite_recursion.py file to prevent a crash when Python is built in debug mode. The two test_all_project_files() tests now use subTest() and log the refactored/parsed filename (if test_lib2to3 is run in verbose mode). * Update Lib/lib2to3/tests/data/infinite_recursion.py Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com> Co-authored-by: Ɓukasz Langa <lukasz@langa.pl> Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Diffstat (limited to 'Lib/lib2to3/pytree.py')
-rw-r--r--Lib/lib2to3/pytree.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/Lib/lib2to3/pytree.py b/Lib/lib2to3/pytree.py
index 2a6ef2ef52..729023df02 100644
--- a/Lib/lib2to3/pytree.py
+++ b/Lib/lib2to3/pytree.py
@@ -720,8 +720,8 @@ class WildcardPattern(BasePattern):
r[self.name] = nodes[:count]
yield count, r
except RuntimeError:
- # We fall back to the iterative pattern matching scheme if the recursive
- # scheme hits the recursion limit.
+ # Fall back to the iterative pattern matching scheme if the
+ # recursive scheme hits the recursion limit (RecursionError).
for count, r in self._iterative_matches(nodes):
if self.name:
r[self.name] = nodes[:count]