From d7728c27e6e3b064e09bb213a383c71c734919ea Mon Sep 17 00:00:00 2001 From: "Benjamin A. Beasley" Date: Mon, 1 Sep 2025 21:52:05 +0100 Subject: [PATCH] Provide 32-bit sizes/alignments for dtype::tests::test_dtype_methods_* Fixes test failures on 32-bit platforms. --- src/dtype.rs | 48 ++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 42 insertions(+), 6 deletions(-) diff --git a/src/dtype.rs b/src/dtype.rs index 6a39bb2b2..dd7424289 100644 --- a/src/dtype.rs +++ b/src/dtype.rs @@ -725,7 +725,14 @@ mod tests { assert_eq!(dt.byteorder(), b'='); assert_eq!(dt.is_native_byteorder(), Some(true)); assert_eq!(dt.itemsize(), 8); - assert_eq!(dt.alignment(), 8); + #[cfg(target_pointer_width = "32")] + { + assert_eq!(dt.alignment(), 4); + } + #[cfg(target_pointer_width = "64")] + { + assert_eq!(dt.alignment(), 8); + } assert!(!dt.has_object()); assert!(dt.names().is_none()); assert!(!dt.has_fields()); @@ -761,7 +768,14 @@ mod tests { assert_eq!(dt.byteorder(), b'|'); assert_eq!(dt.is_native_byteorder(), None); assert_eq!(dt.itemsize(), 48); - assert_eq!(dt.alignment(), 8); + #[cfg(target_pointer_width = "32")] + { + assert_eq!(dt.alignment(), 4); + } + #[cfg(target_pointer_width = "64")] + { + assert_eq!(dt.alignment(), 8); + } assert!(!dt.has_object()); assert!(dt.names().is_none()); assert!(!dt.has_fields()); @@ -798,8 +812,16 @@ mod tests { assert_eq!(dt.kind(), b'V'); assert_eq!(dt.byteorder(), b'|'); assert_eq!(dt.is_native_byteorder(), None); - assert_eq!(dt.itemsize(), 24); - assert_eq!(dt.alignment(), 8); + #[cfg(target_pointer_width = "32")] + { + assert_eq!(dt.itemsize(), 16); + assert_eq!(dt.alignment(), 4); + } + #[cfg(target_pointer_width = "64")] + { + assert_eq!(dt.itemsize(), 24); + assert_eq!(dt.alignment(), 8); + } assert!(dt.has_object()); assert_eq!( dt.names(), @@ -816,10 +838,24 @@ mod tests { assert_eq!(x.1, 0); let y = dt.get_field("y").unwrap(); assert!(y.0.is_equiv_to(&dtype::(py))); - assert_eq!(y.1, 8); + #[cfg(target_pointer_width = "32")] + { + assert_eq!(y.1, 4); + } + #[cfg(target_pointer_width = "64")] + { + assert_eq!(y.1, 8); + } let z = dt.get_field("z").unwrap(); assert!(z.0.is_equiv_to(&dtype::>(py))); - assert_eq!(z.1, 16); + #[cfg(target_pointer_width = "32")] + { + assert_eq!(z.1, 12); + } + #[cfg(target_pointer_width = "64")] + { + assert_eq!(z.1, 16); + } }); } }