]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-76961: Fix buildbot failures in test_pep3118 (#101587) 101604/head
authorMark Dickinson <dickinsm@gmail.com>
Mon, 6 Feb 2023 12:25:31 +0000 (12:25 +0000)
committerGitHub <noreply@github.com>
Mon, 6 Feb 2023 12:25:31 +0000 (12:25 +0000)
This PR fixes the buildbot failures introduced by the merge of #5561, by restricting the relevant tests to something that should work on both 32-bit and 64-bit platforms. It also silences some compiler warnings introduced in that PR.

Lib/test/test_ctypes/test_pep3118.py
Modules/_ctypes/stgdict.c

index 74fdf29fc9ad054abd87ce8e3956a840b7abc02b..c8a70e3e335693385efcaa488076b43a46851f51 100644 (file)
@@ -87,14 +87,14 @@ class PackedPoint(Structure):
     _fields_ = [("x", c_long), ("y", c_long)]
 
 class PointMidPad(Structure):
-    _fields_ = [("x", c_byte), ("y", c_uint64)]
+    _fields_ = [("x", c_byte), ("y", c_uint)]
 
 class PackedPointMidPad(Structure):
     _pack_ = 2
     _fields_ = [("x", c_byte), ("y", c_uint64)]
 
 class PointEndPad(Structure):
-    _fields_ = [("x", c_uint64), ("y", c_byte)]
+    _fields_ = [("x", c_uint), ("y", c_byte)]
 
 class PackedPointEndPad(Structure):
     _pack_ = 2
@@ -199,14 +199,14 @@ native_types = [
 
     ## structures and unions
 
-    (Point2,                    "T{<l:x:<l:y:}".replace('l', s_long),  (),  Point2),
-    (Point,                     "T{<l:x:<l:y:}".replace('l', s_long),  (),  Point),
-    (PackedPoint,               "T{<l:x:<l:y:}".replace('l', s_long),  (),  PackedPoint),
-    (PointMidPad,               "T{<b:x:7x<Q:y:}",                     (),  PointMidPad),
-    (PackedPointMidPad,         "T{<b:x:x<Q:y:}",                      (),  PackedPointMidPad),
-    (PointEndPad,               "T{<Q:x:<b:y:7x}",                     (),  PointEndPad),
-    (PackedPointEndPad,         "T{<Q:x:<b:y:x}",                      (),  PackedPointEndPad),
-    (EmptyStruct,               "T{}",                                 (),  EmptyStruct),
+    (Point2,                    "T{<l:x:<l:y:}".replace('l', s_long),   (),  Point2),
+    (Point,                     "T{<l:x:<l:y:}".replace('l', s_long),   (),  Point),
+    (PackedPoint,               "T{<l:x:<l:y:}".replace('l', s_long),   (),  PackedPoint),
+    (PointMidPad,               "T{<b:x:3x<I:y:}".replace('I', s_uint), (),  PointMidPad),
+    (PackedPointMidPad,         "T{<b:x:x<Q:y:}",                       (),  PackedPointMidPad),
+    (PointEndPad,               "T{<I:x:<b:y:3x}".replace('I', s_uint), (),  PointEndPad),
+    (PackedPointEndPad,         "T{<Q:x:<b:y:x}",                       (),  PackedPointEndPad),
+    (EmptyStruct,               "T{}",                                  (),  EmptyStruct),
     # the pep doesn't support unions
     (aUnion,                    "B",                                   (),  aUnion),
     # structure with sub-arrays
index dac772e3073112c7b9960df6c07f28e146dd8b9a..83a52757d60979437c6fe9545f4373a3a472a06d 100644 (file)
@@ -339,7 +339,7 @@ MakeAnonFields(PyObject *type)
 
 /*
   Allocate a memory block for a pep3118 format string, copy prefix (if
-  non-null) into it and append `{padding}x` to the end. 
+  non-null) into it and append `{padding}x` to the end.
   Returns NULL on failure, with the error indicator set.
 */
 char *
@@ -355,8 +355,8 @@ _ctypes_alloc_format_padding(const char *prefix, Py_ssize_t padding)
         return _ctypes_alloc_format_string(prefix, "x");
     }
 
-    int ret = PyOS_snprintf(buf, sizeof(buf), "%zdx", padding);
-    assert(0 <= ret && ret < sizeof(buf));
+    int ret = PyOS_snprintf(buf, sizeof(buf), "%zdx", padding); (void)ret;
+    assert(0 <= ret && ret < (Py_ssize_t)sizeof(buf));
     return _ctypes_alloc_format_string(prefix, buf);
 }