Skip to content

Commit 51daace

Browse files
authored
Merge pull request data-apis#155 from asmeurer/numpy-ci-fixes
Update NumPy CI for NumPy 2.0
2 parents 38ec1d4 + ebb8a8f commit 51daace

5 files changed

+75
-13
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
name: Array API Tests (NumPy 1.26)
2+
3+
on: [push, pull_request]
4+
5+
jobs:
6+
array-api-tests-numpy-latest:
7+
uses: ./.github/workflows/array-api-tests.yml
8+
with:
9+
package-name: numpy
10+
package-version: '== 1.26.*'
11+
xfails-file-extra: '-1-26'

dask-skips.txt

+12
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
# FFT isn't conformant
22
array_api_tests/test_fft.py
3+
array_api_tests/test_signatures.py::test_extension_func_signature[fft.fft]
4+
array_api_tests/test_signatures.py::test_extension_func_signature[fft.ifft]
5+
array_api_tests/test_signatures.py::test_extension_func_signature[fft.fftn]
6+
array_api_tests/test_signatures.py::test_extension_func_signature[fft.ifftn]
7+
array_api_tests/test_signatures.py::test_extension_func_signature[fft.rfft]
8+
array_api_tests/test_signatures.py::test_extension_func_signature[fft.irfft]
9+
array_api_tests/test_signatures.py::test_extension_func_signature[fft.rfftn]
10+
array_api_tests/test_signatures.py::test_extension_func_signature[fft.irfftn]
11+
array_api_tests/test_signatures.py::test_extension_func_signature[fft.hfft]
12+
array_api_tests/test_signatures.py::test_extension_func_signature[fft.ihfft]
13+
array_api_tests/test_signatures.py::test_extension_func_signature[fft.fftfreq]
14+
array_api_tests/test_signatures.py::test_extension_func_signature[fft.rfftfreq]
315

416
# slow and not implemented in dask
517
array_api_tests/test_linalg.py::test_matrix_power

numpy-1-26-xfails.txt

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# asarray(copy=False) is not yet implemented
2+
array_api_tests/test_creation_functions.py::test_asarray_arrays
3+
4+
# finfo(float32).eps returns float32 but should return float
5+
array_api_tests/test_data_type_functions.py::test_finfo[float32]
6+
7+
# Array methods and attributes not already on np.ndarray cannot be wrapped
8+
array_api_tests/test_has_names.py::test_has_names[array_method-__array_namespace__]
9+
array_api_tests/test_has_names.py::test_has_names[array_method-to_device]
10+
array_api_tests/test_has_names.py::test_has_names[array_attribute-device]
11+
array_api_tests/test_has_names.py::test_has_names[array_attribute-mT]
12+
13+
# Array methods and attributes not already on np.ndarray cannot be wrapped
14+
array_api_tests/test_signatures.py::test_array_method_signature[__array_namespace__]
15+
array_api_tests/test_signatures.py::test_array_method_signature[to_device]
16+
17+
# NumPy deviates in some special cases for floordiv
18+
array_api_tests/test_special_cases.py::test_binary[floor_divide(x1_i is +infinity and isfinite(x2_i) and x2_i > 0) -> +infinity]
19+
array_api_tests/test_special_cases.py::test_binary[floor_divide(x1_i is +infinity and isfinite(x2_i) and x2_i < 0) -> -infinity]
20+
array_api_tests/test_special_cases.py::test_binary[floor_divide(x1_i is -infinity and isfinite(x2_i) and x2_i > 0) -> -infinity]
21+
array_api_tests/test_special_cases.py::test_binary[floor_divide(x1_i is -infinity and isfinite(x2_i) and x2_i < 0) -> +infinity]
22+
array_api_tests/test_special_cases.py::test_binary[floor_divide(isfinite(x1_i) and x1_i > 0 and x2_i is -infinity) -> -0]
23+
array_api_tests/test_special_cases.py::test_binary[floor_divide(isfinite(x1_i) and x1_i < 0 and x2_i is +infinity) -> -0]
24+
array_api_tests/test_special_cases.py::test_binary[__floordiv__(x1_i is +infinity and isfinite(x2_i) and x2_i > 0) -> +infinity]
25+
array_api_tests/test_special_cases.py::test_binary[__floordiv__(x1_i is +infinity and isfinite(x2_i) and x2_i < 0) -> -infinity]
26+
array_api_tests/test_special_cases.py::test_binary[__floordiv__(x1_i is -infinity and isfinite(x2_i) and x2_i > 0) -> -infinity]
27+
array_api_tests/test_special_cases.py::test_binary[__floordiv__(x1_i is -infinity and isfinite(x2_i) and x2_i < 0) -> +infinity]
28+
array_api_tests/test_special_cases.py::test_binary[__floordiv__(isfinite(x1_i) and x1_i > 0 and x2_i is -infinity) -> -0]
29+
array_api_tests/test_special_cases.py::test_binary[__floordiv__(isfinite(x1_i) and x1_i < 0 and x2_i is +infinity) -> -0]
30+
array_api_tests/test_special_cases.py::test_iop[__ifloordiv__(x1_i is +infinity and isfinite(x2_i) and x2_i > 0) -> +infinity]
31+
array_api_tests/test_special_cases.py::test_iop[__ifloordiv__(x1_i is +infinity and isfinite(x2_i) and x2_i < 0) -> -infinity]
32+
array_api_tests/test_special_cases.py::test_iop[__ifloordiv__(x1_i is -infinity and isfinite(x2_i) and x2_i > 0) -> -infinity]
33+
array_api_tests/test_special_cases.py::test_iop[__ifloordiv__(x1_i is -infinity and isfinite(x2_i) and x2_i < 0) -> +infinity]
34+
array_api_tests/test_special_cases.py::test_iop[__ifloordiv__(isfinite(x1_i) and x1_i > 0 and x2_i is -infinity) -> -0]
35+
array_api_tests/test_special_cases.py::test_iop[__ifloordiv__(isfinite(x1_i) and x1_i < 0 and x2_i is +infinity) -> -0]
36+
37+
# https://github.com/numpy/numpy/issues/21213
38+
array_api_tests/test_special_cases.py::test_binary[__pow__(x1_i is -infinity and x2_i > 0 and not (x2_i.is_integer() and x2_i % 2 == 1)) -> +infinity]
39+
array_api_tests/test_special_cases.py::test_binary[__pow__(x1_i is -0 and x2_i > 0 and not (x2_i.is_integer() and x2_i % 2 == 1)) -> +0]
40+
array_api_tests/test_special_cases.py::test_iop[__ipow__(x1_i is -infinity and x2_i > 0 and not (x2_i.is_integer() and x2_i % 2 == 1)) -> +infinity]
41+
array_api_tests/test_special_cases.py::test_iop[__ipow__(x1_i is -0 and x2_i > 0 and not (x2_i.is_integer() and x2_i % 2 == 1)) -> +0]
42+
array_api_tests/meta/test_hypothesis_helpers.py::test_symmetric_matrices
43+
44+
# The test suite is incorrectly checking sums that have loss of significance
45+
# (https://github.com/data-apis/array-api-tests/issues/168)
46+
array_api_tests/test_statistical_functions.py::test_sum
47+
array_api_tests/test_statistical_functions.py::test_prod

numpy-xfails.txt

+5-13
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,6 @@
1-
# asarray(copy=False) is not yet implemented
2-
array_api_tests/test_creation_functions.py::test_asarray_arrays
3-
41
# finfo(float32).eps returns float32 but should return float
52
array_api_tests/test_data_type_functions.py::test_finfo[float32]
63

7-
# Array methods and attributes not already on np.ndarray cannot be wrapped
8-
array_api_tests/test_has_names.py::test_has_names[array_method-__array_namespace__]
9-
array_api_tests/test_has_names.py::test_has_names[array_method-to_device]
10-
array_api_tests/test_has_names.py::test_has_names[array_attribute-device]
11-
array_api_tests/test_has_names.py::test_has_names[array_attribute-mT]
12-
13-
# Array methods and attributes not already on np.ndarray cannot be wrapped
14-
array_api_tests/test_signatures.py::test_array_method_signature[__array_namespace__]
15-
array_api_tests/test_signatures.py::test_array_method_signature[to_device]
16-
174
# NumPy deviates in some special cases for floordiv
185
array_api_tests/test_special_cases.py::test_binary[floor_divide(x1_i is +infinity and isfinite(x2_i) and x2_i > 0) -> +infinity]
196
array_api_tests/test_special_cases.py::test_binary[floor_divide(x1_i is +infinity and isfinite(x2_i) and x2_i < 0) -> -infinity]
@@ -45,3 +32,8 @@ array_api_tests/meta/test_hypothesis_helpers.py::test_symmetric_matrices
4532
# (https://github.com/data-apis/array-api-tests/issues/168)
4633
array_api_tests/test_statistical_functions.py::test_sum
4734
array_api_tests/test_statistical_functions.py::test_prod
35+
36+
# The test suite cannot properly get the signature for vecdot
37+
# https://github.com/numpy/numpy/pull/26237
38+
array_api_tests/test_signatures.py::test_func_signature[vecdot]
39+
array_api_tests/test_signatures.py::test_extension_func_signature[linalg.vecdot]

0 commit comments

Comments
 (0)