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 (#300).
test_array_object.py
test_creation_functions.py
The device keyword is never tested (see below)
test_data_type_functions.py
test_fft.py
test_has_names.py
test_indexing.py
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.
test_linalg.py
(note: values testing here might be hard. Values testing isn't as high priority for functions that already generally work)
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:
test_manipulation_functions.py
test_operators_and_elementwise_functions.py
test_signatures.py
Several issues tracked in other issues: #256, #171
test_sorting_functions.py
test_special_cases.py
Many special cases are not tested. This is tracked at #284
test_statistical_functions.py
See also #167
test_utility_functions.py
OTHER
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 (#300).
test_array_object.py
test_getitem_masking.py(key.ndim < x.ndim not tested)test_creation_functions.py
The
devicekeyword is never tested (see below)test_meshgrid(no testing of theindexingargument, no testing the output shapes) -- fixed in ENH: expand testing ofmeshgrid#405test_data_type_functions.py
test_astype(no complex types, no values testing, no test forcopy) -- ENH: test astype with complex inputs #311test_broadcast_arrays(no values testing)test_broadcast_to(no values testing)test_can_cast(no complex types) -- ENH: add a test for can_cast(complex dtypes) #320test_finfo(no values testing)test_iinfo(no values testing)test_fft.py
test_irfftn(no shape tests) -- fixed in switch back testing of irfftn shapes #309test_fftfreq,test_fftshift(no test for thedtypeargument, new in 2024.12) -- fixed in ENH: test_{r,}fftfreq dtype argument #408test_has_names.py
test_indexing.py
test_take(different dtypes for indices);axis=Nonedone intest_take: test axis being optional ifx.ndim==1#385);negative indicesdone in ENH: testtakeandtake_along_axiswith indices < 0 #397test_take_along_axis(different dtypes for indices, broadcast-compatible indices);negative indicesdone in ENH: testtakeandtake_along_axiswith indices < 0 #397test_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.
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 matricespositive_definite_matrices(only generates stacks of identity matricesinvertable_matrices(only generates stacks of diagonal matrices)test_manipulation_functions.py
test_tile(no values testing) -- ENH: test_tile: check the shapes #376test_repeat: only draws signed ints forrepeats; unsigned ints are problematic for numpy and torch; cf MAINT: only draw signed ints forrepeatsin test_repeat #424test_operators_and_elementwise_functions.py
test_divide(no complex numbers testing) -- fixed in stop skipping test_divide for complex inputs #306test_negative(there is a TODO about uints)test_clip: no testing of an int scalarmin/maxand a float arraytest_signatures.py
Several issues tracked in other issues: #256, #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 #284
test_statistical_functions.py
See also #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