Skip to content

Commit 3061de2

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

File tree

1 file changed

+42
-5
lines changed

1 file changed

+42
-5
lines changed

src/dtype.rs

Lines changed: 42 additions & 5 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,25 @@ 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)));
822851
assert_eq!(z.1, 16);
852+
#[cfg(target_pointer_width = "32")]
853+
{
854+
assert_eq!(z.1, 12);
855+
}
856+
#[cfg(target_pointer_width = "64")]
857+
{
858+
assert_eq!(z.1, 16);
859+
}
823860
});
824861
}
825862
}

0 commit comments

Comments
 (0)