From 6dd0a6d08b4086be013c9a44c435d282d7f3cbe4 Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Sat, 13 Jan 2024 15:52:39 +0200 Subject: [PATCH 1/2] gh-111803: Make test_deep_nesting from test_plistlib more strict It is no longer silently passed if RecursionError was raised for low recursion depth. --- Lib/test/test_plistlib.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Lib/test/test_plistlib.py b/Lib/test/test_plistlib.py index f47982907def21..b8a8e6b983e7a3 100644 --- a/Lib/test/test_plistlib.py +++ b/Lib/test/test_plistlib.py @@ -971,12 +971,12 @@ def test_cycles(self): self.assertIs(b['x'], b) def test_deep_nesting(self): - for N in [300, 100000]: + for N in [50, 300, 100000]: 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()) else: for i in range(N): self.assertIsInstance(result, list) From 68a735e48b378795400d8132dde88e7c3966cbad Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Tue, 16 Jan 2024 15:52:28 +0200 Subject: [PATCH 2/2] Update Lib/test/test_plistlib.py Co-authored-by: Brett Cannon --- Lib/test/test_plistlib.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lib/test/test_plistlib.py b/Lib/test/test_plistlib.py index b8a8e6b983e7a3..001f86f2893f2f 100644 --- a/Lib/test/test_plistlib.py +++ b/Lib/test/test_plistlib.py @@ -971,7 +971,7 @@ def test_cycles(self): self.assertIs(b['x'], b) def test_deep_nesting(self): - for N in [50, 300, 100000]: + for N in [50, 300, 100_000]: 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)