From ffa4d47abdbf38bb5d022d2e37949226cdff7198 Mon Sep 17 00:00:00 2001 From: Sergey B Kirpichev Date: Wed, 6 May 2026 16:14:49 +0300 Subject: [PATCH] gh-146238: Add missing tests for 'e', 'Zf' and 'Zd' array type codes in test_buffer (#149345) This amends e79fd60. I'll not fix this for 'F'/'D' complex types as they might be removed. --- Lib/test/test_buffer.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Lib/test/test_buffer.py b/Lib/test/test_buffer.py index f08faa14b24c..7454c8a15391 100644 --- a/Lib/test/test_buffer.py +++ b/Lib/test/test_buffer.py @@ -143,7 +143,7 @@ MEMORYVIEW = NATIVE.copy() # Format codes supported by array.array ARRAY = NATIVE.copy() for k in NATIVE: - if not k in "bBhHiIlLfd": + if k not in list("bBhHiIlLefd") + ['Zf', 'Zd']: del ARRAY[k] BYTEFMT = NATIVE.copy() @@ -4495,8 +4495,10 @@ class TestBufferProtocol(unittest.TestCase): def test_array_alignment(self): # gh-140557: pointer alignment of buffers including empty allocation # should match the maximum array alignment. - align = max(struct.calcsize(fmt) for fmt in ARRAY) - cases = [array.array(fmt) for fmt in ARRAY] + formats = [fmt for fmt in ARRAY + if struct.calcsize(fmt) <= struct.calcsize('P')] + align = max(struct.calcsize(fmt) for fmt in formats) + cases = [array.array(fmt) for fmt in formats] # Empty arrays self.assertEqual( [_testcapi.buffer_pointer_as_int(case) % align for case in cases], -- 2.47.3