forked from pool/python314
- Add fix_test_generated_data.patch to skip failing test
(gh#python/cpython#121938). OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=16
This commit is contained in:
34
fix_test_generated_data.patch
Normal file
34
fix_test_generated_data.patch
Normal file
@@ -0,0 +1,34 @@
|
||||
---
|
||||
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.
|
||||
|
||||
Reference in New Issue
Block a user