Incomplete tests
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
Research direction
Choose one unchecked item rather than taking on this entire tracking issue, then read the named test file and its TODO or linked issue. Run the relevant existing test module to understand its current coverage. Done means the selected gap is covered and the corresponding test passes.
Written by the indexing model from the issue text.
Description
This is a tracking issue for tests that are currently incomplete. These are mostly notated in the code by TODO comments, but it's useful to note them all here too. I haven't checked everything throughly so if there is something missing that isn't noted in a comment it might not be listed here.
Note there are also some functions that aren't yet tested at all, but those are covered in separate issues (e.g., #248 #299). I also am not including tests that are currently skipped entirely as flaky (https://github.com/data-apis/array-api-tests/issues/300).
test_array_object.py
-
test_getitem_masking.py(key.ndim < x.ndim not tested)
test_creation_functions.py
The device keyword is never tested (see below)
-
test_meshgrid(no testing of theindexingargument, no testing the output shapes) -- fixed in https://github.com/data-apis/array-api-tests/pull/405
test_data_type_functions.py
-
test_astype(no complex types, no values testing, no test forcopy) -- gh-311 -
test_broadcast_arrays(no values testing) -
test_broadcast_to(no values testing) -
test_can_cast(no complex types) -- https://github.com/data-apis/array-api-tests/pull/320 -
test_finfo(no values testing) -
test_iinfo(no values testing)
test_fft.py
-
test_irfftn(no shape tests) -- fixed in https://github.com/data-apis/array-api-tests/pull/309 -
test_fftfreq,test_fftshift(no test for thedtypeargument, new in 2024.12) -- fixed in https://github.com/data-apis/array-api-tests/pull/408
test_has_names.py
- Several names are not tested for (see https://github.com/data-apis/array-api-tests/issues/224)
test_indexing.py
-
test_take(different dtypes for indices); axis=None done in https://github.com/data-apis/array-api-tests/issues/385); negative indices done in https://github.com/data-apis/array-api-tests/pull/397 -
test_take_along_axis(different dtypes for indices, broadcast-compatible indices); negative indices done in https://github.com/data-apis/array-api-tests/pull/397
test_inspection_functions.py
Basically none of the inspection APIs are currently tested, beyond the basic signature tests. Note that for many of these functions, we may not even need to use hypothesis. Just a basic test that the function outputs the right thing and a smoke test that the data outputted is correct.
- https://github.com/data-apis/array-api-tests/pull/362 adds some more smoke testing of inspection capabilities.
test_linalg.py
(note: values testing here might be hard. Values testing isn't as high priority for functions that already generally work)
-
test_det(no values testing) -
test_eigh(no values testing) -
test_eigvalsh(no values testing) -
test_eig(no values testing) -
test_eigvals(no values testing) -
test_inv(no values testing) -
test_matmul(the@__matmul__operator methods are not tested) -
test_matrix_norm(no values testing) -
test_qr(no test that Q is orthonormal) -
test_slogdet(no values testing) -
test_svdvals(no values testing; no test that it agrees withsvd()) -
test_trace(need to update dtype assertion, this should matchtest_sum) -
test_vector_norm(no values testing)
Additionally, there are some limitations in the hypothesis strategies used by some of the functions. These should be made more general so that the functions are actually tested on a full gamut of possible inputs:
-
symmetric_matrices(does not generate complex Hermitian matrices -
positive_definite_matrices(only generates stacks of identity matrices -
invertable_matrices(only generates stacks of diagonal matrices)
test_manipulation_functions.py
-
test_tile(no values testing) -- https://github.com/data-apis/array-api-tests/pull/376 -
test_repeat: only draws signed ints forrepeats; unsigned ints are problematic for numpy and torch; cf https://github.com/data-apis/array-api-tests/pull/424 -
test_reshape: no testing of thecopy=argument : done in https://github.com/data-apis/array-api-tests/pull/432
test_operators_and_elementwise_functions.py
-
test_divide(no complex numbers testing) -- fixed in gh-306 -
test_negative(there is a TODO about uints) - scalar support in binary functions: (better value testing, test complex dtypes); tracked in https://github.com/data-apis/array-api-tests/issues/364
-
test_clip: no testing of an int scalarmin/maxand a float array
test_signatures.py
Several issues tracked in other issues: https://github.com/data-apis/array-api-tests/issues/256, https://github.com/data-apis/array-api-tests/issues/171
test_sorting_functions.py
-
test_argsort(no testing of signed zeros or nans) -
test_sort(no testing of signed zeros or nans)
test_special_cases.py
Many special cases are not tested. This is tracked at https://github.com/data-apis/array-api-tests/issues/284
test_statistical_functions.py
See also https://github.com/data-apis/array-api-tests/issues/167
-
test_mean(no values testing) -
test_std(no values testing) -
test_var(no values testing)
test_utility_functions.py
-
test_diff(no values testing forn > 1)
OTHER
- Tests for device support https://github.com/data-apis/array-api-tests/issues/302
- Tests for dlpack (no cross-library tests, limited testing with non-default devices, limited testing of copy=False), cf https://github.com/data-apis/array-api-tests/pull/433
- Dominant language
- Python
- Stars
- 74
- Forks
- 54
- Avg merge
- 4d 15h
- Merged PRs (30d)
- 6
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from data-apis/array-api-tests
-
Difficulty 2/5 1-3 hours Newbie friendliness 87/100
data-apis/array-api-tests#465 · 1 comment ·
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
data-apis/array-api-tests#460 · 1 comment ·
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
data-apis/array-api-tests#455 · 2 comments ·
-
tracking
Difficulty 5/5 Over a week Newbie friendliness 25/100
data-apis/array-api-tests#381 · 9 comments ·
-
Difficulty 5/5 Over a week Newbie friendliness 38/100
data-apis/array-api-tests#379 · 10 comments ·
All issues in data-apis/array-api-tests
Similar issues
-
sponsored
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
Diaoul/subliminal#1382 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
triage/confirmed
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
agentscope-ai/agentscope#2775 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100