mirror of
https://github.com/python/cpython.git
synced 2026-01-04 14:32:21 +00:00
[3.14] gh-141794: Reduce size of compiler stress tests to fix Android warnings (GH-142263) (#142386)
gh-141794: Reduce size of compiler stress tests to fix Android warnings (GH-142263)
(cherry picked from commit f193c8fe9e)
Co-authored-by: Malcolm Smith <smith@chaquo.com>
This commit is contained in:
parent
7308015d9c
commit
d2f5a0e72e
2 changed files with 9 additions and 5 deletions
|
|
@ -991,7 +991,8 @@ def next(self):
|
|||
@skip_wasi_stack_overflow()
|
||||
@skip_emscripten_stack_overflow()
|
||||
def test_ast_recursion_limit(self):
|
||||
crash_depth = 500_000
|
||||
# Android test devices have less memory.
|
||||
crash_depth = 100_000 if sys.platform == "android" else 500_000
|
||||
success_depth = 200
|
||||
if _testinternalcapi is not None:
|
||||
remaining = _testinternalcapi.get_c_recursion_remaining()
|
||||
|
|
|
|||
|
|
@ -728,7 +728,8 @@ def test_yet_more_evil_still_undecodable(self):
|
|||
def test_compiler_recursion_limit(self):
|
||||
# Compiler frames are small
|
||||
limit = 100
|
||||
crash_depth = limit * 5000
|
||||
# Android test devices have less memory.
|
||||
crash_depth = limit * (1000 if sys.platform == "android" else 5000)
|
||||
success_depth = limit
|
||||
|
||||
def check_limit(prefix, repeated, mode="single"):
|
||||
|
|
@ -1030,11 +1031,13 @@ def test_path_like_objects(self):
|
|||
# An implicit test for PyUnicode_FSDecoder().
|
||||
compile("42", FakePath("test_compile_pathlike"), "single")
|
||||
|
||||
# bpo-31113: Stack overflow when compile a long sequence of
|
||||
# complex statements.
|
||||
@support.requires_resource('cpu')
|
||||
def test_stack_overflow(self):
|
||||
# bpo-31113: Stack overflow when compile a long sequence of
|
||||
# complex statements.
|
||||
compile("if a: b\n" * 200000, "<dummy>", "exec")
|
||||
# Android test devices have less memory.
|
||||
size = 100_000 if sys.platform == "android" else 200_000
|
||||
compile("if a: b\n" * size, "<dummy>", "exec")
|
||||
|
||||
# Multiple users rely on the fact that CPython does not generate
|
||||
# bytecode for dead code blocks. See bpo-37500 for more context.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue