diff options
author | Victor Stinner <vstinner@python.org> | 2022-01-31 18:46:09 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-31 18:46:09 +0100 |
commit | ee0ac328d38a86f7907598c94cb88a97635b32f8 (patch) | |
tree | e80912369877fccc824a5e5c255e791a390c90e5 /Lib/lib2to3/pytree.py | |
parent | 768569325abc0a9cd5aae65c531889ec390847aa (diff) | |
download | cpython-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.py | 4 |
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] |