https://github.com/python/cpython/commit/804037ee4a282be0c65698a94505cc8a45f327aa
commit: 804037ee4a282be0c65698a94505cc8a45f327aa
branch: 3.11
author: Miss Islington (bot) <[email protected]>
committer: serhiy-storchaka <[email protected]>
date: 2024-01-22T15:31:21Z
summary:

[3.11] gh-111803: Make test_deep_nesting from test_plistlib more strict 
(GH-114026) (GH-114407)

It is no longer silently passed if RecursionError was raised for low
recursion depth.
(cherry picked from commit db1c18eb6220653290a3ba9ebbe1df44394a3f19)

Co-authored-by: Serhiy Storchaka <[email protected]>

files:
M Lib/test/test_plistlib.py

diff --git a/Lib/test/test_plistlib.py b/Lib/test/test_plistlib.py
index 6b457440be5430..95b7a649774dca 100644
--- a/Lib/test/test_plistlib.py
+++ b/Lib/test/test_plistlib.py
@@ -908,12 +908,13 @@ def test_cycles(self):
         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()//3)
             else:
                 for i in range(N):
                     self.assertIsInstance(result, list)

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]

Reply via email to