python314/fix_test_generated_data.patch
Matej Cepl b4a03c8ca5 - Update to the third development version of 3.14.0:
- Tools/Demos
    - gh-126700: Add support for multi-argument gettext functions
      in pygettext.py.
  - Tests
    - gh-127906: Test the limited C API in test_cppext. Patch by
      Victor Stinner.
    - gh-127637: Add tests for the dis command-line
      interface. Patch by Bénédikt Tran.
    - gh-126925: iOS test results are now streamed during test
      execution, and the deprecated xcresulttool is no longer
      used.
    - gh-127076: Disable strace based system call tests when
      LD_PRELOAD is set.
    - gh-127076: Filter out memory-related mmap, munmap, and
      mprotect calls from file-related ones when testing io
      behavior using strace.
  - Security
    - gh-127655: Fixed the
      asyncio.selector_events._SelectorSocketTransport
      transport not pausing writes for the protocol when
      the buffer reaches the high water mark when using
      asyncio.WriteTransport.writelines().
  - Library
    - gh-126907: Fix crash when using atexit concurrently on the
      free-threaded build.
    - gh-127870: Detect recursive calls in ctypes _as_parameter_
      handling. Patch by Victor Stinner.
    - gh-127732: The platform module now correctly detects
      Windows Server 2025.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=28
2024-12-18 00:35:19 +00:00

35 lines
1.1 KiB
Diff

---
Lib/test/test_ctypes/test_generated_structs.py | 7 +++++++
1 file changed, 7 insertions(+)
--- a/Lib/test/test_ctypes/test_generated_structs.py
+++ b/Lib/test/test_ctypes/test_generated_structs.py
@@ -12,6 +12,7 @@ Run this module to regenerate the files:
import unittest
from test.support import import_helper
import re
+import sys
from dataclasses import dataclass
from functools import cached_property
@@ -21,6 +22,11 @@ from ctypes import sizeof, alignment, po
_ctypes_test = import_helper.import_module("_ctypes_test")
+def is_32bit():
+ # or alternatively (slightly slower)
+ # (struct.calcsize("P") * 8) == 32
+ return not (sys.maxsize > 2**32)
+
# ctypes erases the difference between `c_int` and e.g.`c_int16`.
# To keep it, we'll use custom subclasses with the C name stashed in `_c_name`:
class c_bool(ctypes.c_bool):
@@ -415,6 +421,7 @@ class AnonBitfields(Structure):
class GeneratedTest(unittest.TestCase):
+ @unittest.skipIf(is_32bit(), 'fails on 32bit platform (gh#python/cpython#121938)')
def test_generated_data(self):
"""Check that a ctypes struct/union matches its C equivalent.