From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Mon, 22 Jan 2024 15:16:12 +0000 (+0100) Subject: [3.12] gh-111803: Make test_deep_nesting from test_plistlib more strict (GH-114026... X-Git-Tag: v3.12.2~120 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=d1f731ff0839198fd22af539b6ef28d12739d4d8;p=thirdparty%2FPython%2Fcpython.git [3.12] gh-111803: Make test_deep_nesting from test_plistlib more strict (GH-114026) (GH-114406) It is no longer silently passed if RecursionError was raised for low recursion depth. (cherry picked from commit db1c18eb6220653290a3ba9ebbe1df44394a3f19) Co-authored-by: Serhiy Storchaka --- diff --git a/Lib/test/test_plistlib.py b/Lib/test/test_plistlib.py index b08ababa341c..3f10f16d7199 100644 --- a/Lib/test/test_plistlib.py +++ b/Lib/test/test_plistlib.py @@ -908,12 +908,13 @@ class TestBinaryPlistlib(unittest.TestCase): self.assertIs(b['x'], b) def test_deep_nesting(self): - for N in [300, 100000]: + tests = [50, 100_000] if support.is_wasi else [50, 300, 100_000] + for N in tests: chunks = [b'\xa1' + (i + 1).to_bytes(4, 'big') for i in range(N)] try: result = self.decode(*chunks, b'\x54seed', offset_size=4, ref_size=4) except RecursionError: - pass + self.assertGreater(N, sys.getrecursionlimit()//2) else: for i in range(N): self.assertIsInstance(result, list)