Skip to content

Commit 2d408c1

Browse files
committed
test: add test for structured dtype properties
1 parent 9e7e7bf commit 2d408c1

1 file changed

Lines changed: 17 additions & 0 deletions

File tree

cuda_core/tests/test_utils.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -430,3 +430,20 @@ def test_view_zero_size_array(api, shape, dtype):
430430
assert smv.size == 0
431431
assert smv.shape == shape
432432
assert smv.dtype == np.dtype(dtype)
433+
434+
435+
def test_struct_array():
436+
cp = pytest.importorskip("cupy")
437+
438+
x = np.array([(1.0, 2), (2.0, 3)], dtype=[("array1", np.float64), ("array2", np.int64)])
439+
440+
y = cp.empty(2, dtype=x.dtype)
441+
y.set(x)
442+
443+
smv = StridedMemoryView.from_cuda_array_interface(y, stream_ptr=0)
444+
assert smv.size * smv.dtype.itemsize == x.nbytes
445+
assert smv.size == x.size
446+
assert smv.shape == x.shape
447+
# full dtype information doesn't seem to be preserved due to use of type strings,
448+
# which are lossy, e.g., dtype([("a", "int")]).str == "V8"
449+
assert smv.dtype == np.dtype(f"V{x.itemsize}")

0 commit comments

Comments
 (0)