forked from pool/python314
- Tools/Demos
- gh-129248: The iOS test runner now strips the log prefix
from each line output by the test suite.
- gh-104400: Fix several bugs in extraction by switching to
an AST parser in pygettext.
- Tests
- gh-129386: Add test.support.reset_code, which can be used
to reset various bytecode-level optimizations and local
instrumentation for a function.
- gh-128474: Disable test_embed test cases that segfault on
BOLT instrument binaries. The tests are only disabled when
BOLT is enabled.
- gh-128003: Add an option --parallel-threads=N to the
regression test runner that runs individual tests in
multiple threads in parallel in order to find concurrency
bugs. Note that most of the test suite is not yet reviewed
for thread-safety or annotated with @thread_unsafe when
necessary.
- Security
- gh-105704: When using urllib.parse.urlsplit() and
urllib.parse.urlparse() host parsing would not reject
domain names containing square brackets ([ and ]). Square
brackets are only valid for IPv6 and IPvFuture hosts
according to RFC 3986 Section 3.2.2.
- gh-126108: Fix a possible NULL pointer dereference in
PySys_AddWarnOptionUnicode().
- gh-80222: Fix bug in the folding of quoted strings
when flattening an email message using a modern email
policy. Previously when a quoted string was folded so
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=38
35 lines
1.1 KiB
Diff
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.
|
|
|