From bbb4093ac28967a13b361d3e8ef0c412c37d2402 Mon Sep 17 00:00:00 2001 From: Anton Volkov Date: Wed, 19 Aug 2026 22:39:20 +0200 Subject: [PATCH 1/3] Skip array API test_dunder_dlpack conformity test test_dunder_dlpack pins the requested dl_device to kDLCPU while independently drawing copy from {True, False, None}. A dpnp array always reports its DLPack device as kDLOneAPI (never kDLCPU), even when the backing SYCL device is a CPU, so the copy=False case forces a cross-device export. The array API standard requires that such a no-copy cross-device transfer be rejected with a BufferError, which dpnp/dpctl correctly raises. The test wraps the call in a bare except and treats any exception as a failure, so it fails on spec-compliant behavior. Skip it, matching how other device-backed libraries (e.g. CuPy) handle the same test. --- .github/workflows/array-api-skips.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/array-api-skips.txt b/.github/workflows/array-api-skips.txt index a1cb70fabeb..79bff569a9e 100644 --- a/.github/workflows/array-api-skips.txt +++ b/.github/workflows/array-api-skips.txt @@ -1 +1,9 @@ # array API tests to be skipped + +# test_dunder_dlpack hard-pins the requested dl_device to kDLCPU while drawing +# copy from {True, False, None}. A dpnp array always reports its device as +# kDLOneAPI (never kDLCPU), so the copy=False case forces a cross-device export +# that the array API standard requires be rejected with a BufferError. The test +# treats any exception as a failure, so it fails on spec-compliant behavior. +# Other device-backed libraries (e.g. CuPy) skip this test for the same reason. +array_api_tests/test_dlpack.py::test_dunder_dlpack From 2ce0119031afacd222832d222723e734a576821a Mon Sep 17 00:00:00 2001 From: Anton Volkov Date: Wed, 19 Aug 2026 22:48:11 +0200 Subject: [PATCH 2/3] Skip flaky tanh complex special-case array API test Reference the tracking issues in the skips file and add test_unary[tanh(...) -> 1 + 0j], which intermittently fails because the sign of the imaginary zero in the result is unstable (out=(1-0j) vs the expected 1 + 0j). --- .github/workflows/array-api-skips.txt | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/.github/workflows/array-api-skips.txt b/.github/workflows/array-api-skips.txt index 79bff569a9e..20625fe8227 100644 --- a/.github/workflows/array-api-skips.txt +++ b/.github/workflows/array-api-skips.txt @@ -1,9 +1,7 @@ # array API tests to be skipped -# test_dunder_dlpack hard-pins the requested dl_device to kDLCPU while drawing -# copy from {True, False, None}. A dpnp array always reports its device as -# kDLOneAPI (never kDLCPU), so the copy=False case forces a cross-device export -# that the array API standard requires be rejected with a BufferError. The test -# treats any exception as a failure, so it fails on spec-compliant behavior. -# Other device-backed libraries (e.g. CuPy) skip this test for the same reason. +# data-apis/array-api-tests/issues#456 array_api_tests/test_dlpack.py::test_dunder_dlpack + +# data-apis/array-api/issues#1006 +array_api_tests/test_special_cases.py::test_unary[tanh(real(x_i) is +infinity and isfinite(imag(x_i)) and imag(x_i) > 0) -> 1 + 0j] From 24ea37af26b23d25a19090797fc52e9eb5ecb9c1 Mon Sep 17 00:00:00 2001 From: Anton <100830759+antonwolfy@users.noreply.github.com> Date: Wed, 19 Aug 2026 23:01:34 +0200 Subject: [PATCH 3/3] Update .github/workflows/array-api-skips.txt Co-authored-by: ndgrigorian <46709016+ndgrigorian@users.noreply.github.com> --- .github/workflows/array-api-skips.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/array-api-skips.txt b/.github/workflows/array-api-skips.txt index 20625fe8227..2c94f9180fd 100644 --- a/.github/workflows/array-api-skips.txt +++ b/.github/workflows/array-api-skips.txt @@ -1,7 +1,7 @@ # array API tests to be skipped -# data-apis/array-api-tests/issues#456 +# data-apis/array-api-tests/issues/456 array_api_tests/test_dlpack.py::test_dunder_dlpack -# data-apis/array-api/issues#1006 +# data-apis/array-api/issues/1006 array_api_tests/test_special_cases.py::test_unary[tanh(real(x_i) is +infinity and isfinite(imag(x_i)) and imag(x_i) > 0) -> 1 + 0j]