Skip to content

Commit d7728c2

Browse files
Provide 32-bit sizes/alignments for dtype::tests::test_dtype_methods_*
Fixes test failures on 32-bit platforms.
1 parent 70ffab6 commit d7728c2

File tree

1 file changed

+42
-6
lines changed

1 file changed

+42
-6
lines changed

src/dtype.rs

Lines changed: 42 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -725,7 +725,14 @@ mod tests {
725725
assert_eq!(dt.byteorder(), b'=');
726726
assert_eq!(dt.is_native_byteorder(), Some(true));
727727
assert_eq!(dt.itemsize(), 8);
728-
assert_eq!(dt.alignment(), 8);
728+
#[cfg(target_pointer_width = "32")]
729+
{
730+
assert_eq!(dt.alignment(), 4);
731+
}
732+
#[cfg(target_pointer_width = "64")]
733+
{
734+
assert_eq!(dt.alignment(), 8);
735+
}
729736
assert!(!dt.has_object());
730737
assert!(dt.names().is_none());
731738
assert!(!dt.has_fields());
@@ -761,7 +768,14 @@ mod tests {
761768
assert_eq!(dt.byteorder(), b'|');
762769
assert_eq!(dt.is_native_byteorder(), None);
763770
assert_eq!(dt.itemsize(), 48);
764-
assert_eq!(dt.alignment(), 8);
771+
#[cfg(target_pointer_width = "32")]
772+
{
773+
assert_eq!(dt.alignment(), 4);
774+
}
775+
#[cfg(target_pointer_width = "64")]
776+
{
777+
assert_eq!(dt.alignment(), 8);
778+
}
765779
assert!(!dt.has_object());
766780
assert!(dt.names().is_none());
767781
assert!(!dt.has_fields());
@@ -798,8 +812,16 @@ mod tests {
798812
assert_eq!(dt.kind(), b'V');
799813
assert_eq!(dt.byteorder(), b'|');
800814
assert_eq!(dt.is_native_byteorder(), None);
801-
assert_eq!(dt.itemsize(), 24);
802-
assert_eq!(dt.alignment(), 8);
815+
#[cfg(target_pointer_width = "32")]
816+
{
817+
assert_eq!(dt.itemsize(), 16);
818+
assert_eq!(dt.alignment(), 4);
819+
}
820+
#[cfg(target_pointer_width = "64")]
821+
{
822+
assert_eq!(dt.itemsize(), 24);
823+
assert_eq!(dt.alignment(), 8);
824+
}
803825
assert!(dt.has_object());
804826
assert_eq!(
805827
dt.names(),
@@ -816,10 +838,24 @@ mod tests {
816838
assert_eq!(x.1, 0);
817839
let y = dt.get_field("y").unwrap();
818840
assert!(y.0.is_equiv_to(&dtype::<f64>(py)));
819-
assert_eq!(y.1, 8);
841+
#[cfg(target_pointer_width = "32")]
842+
{
843+
assert_eq!(y.1, 4);
844+
}
845+
#[cfg(target_pointer_width = "64")]
846+
{
847+
assert_eq!(y.1, 8);
848+
}
820849
let z = dt.get_field("z").unwrap();
821850
assert!(z.0.is_equiv_to(&dtype::<Py<PyAny>>(py)));
822-
assert_eq!(z.1, 16);
851+
#[cfg(target_pointer_width = "32")]
852+
{
853+
assert_eq!(z.1, 12);
854+
}
855+
#[cfg(target_pointer_width = "64")]
856+
{
857+
assert_eq!(z.1, 16);
858+
}
823859
});
824860
}
825861
}

0 commit comments

Comments
 (0)