Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Add additional tests for array API inspection utilities
  • Loading branch information
ndgrigorian committed Jan 24, 2025
commit 06f266ca628be5f7ad7eaa538dc3fd98aea9937e
48 changes: 48 additions & 0 deletions dpctl/tests/test_tensor_array_api_inspection.py
Original file line number Diff line number Diff line change
Expand Up @@ -176,3 +176,51 @@ def test_array_api_inspection_dtype_kind():
)
== info.dtypes()
)
assert info.dtypes(
kind=("integral", "real floating", "complex floating")
) == info.dtypes(kind="numeric")


def test_array_api_inspection_dtype_kind_errors():
info = dpt.__array_namespace_info__()
try:
info.default_device()
except dpctl.SyclDeviceCreationError:
pytest.skip("No default device available")

with pytest.raises(ValueError):
info.dtypes(kind="error")

with pytest.raises(TypeError):
info.dtypes(kind={0: "real floating"})


def test_array_api_inspection_device_types():
info = dpt.__array_namespace_info__()
try:
dev = info.default_device()
except dpctl.SyclDeviceCreationError:
pytest.skip("No default device available")

q = dpctl.SyclQueue(dev)
assert info.default_dtypes(device=q)
assert info.dtypes(device=q)

dev_dpt = dpt.Device.create_device(dev)
assert info.default_dtypes(device=dev_dpt)
assert info.dtypes(device=dev_dpt)

filter = dev.get_filter_string()
assert info.default_dtypes(device=filter)
assert info.dtypes(device=filter)


def test_array_api_inspection_device_errors():
info = dpt.__array_namespace_info__()

bad_dev = dict()
with pytest.raises(TypeError):
info.dtypes(device=bad_dev)

with pytest.raises(TypeError):
info.default_dtypes(device=bad_dev)