diff --git a/dask/array/__init__.py b/dask/array/__init__.py
--- a/dask/array/__init__.py
+++ b/dask/array/__init__.py
@@ -31,6 +31,7 @@
         where,
         coarsen,
         insert,
+        delete,
         append,
         shape,
         union1d,
diff --git a/dask/array/routines.py b/dask/array/routines.py
--- a/dask/array/routines.py
+++ b/dask/array/routines.py
@@ -1604,6 +1604,37 @@ def insert(arr, obj, values, axis):
     return concatenate(interleaved, axis=axis)
 
 
+@derived_from(np)
+def delete(arr, obj, axis):
+    """
+    NOTE: If ``obj`` is a dask array it is implicitly computed when this function
+    is called.
+    """
+    # axis is a required argument here to avoid needing to deal with the numpy
+    # default case (which reshapes the array to make it flat)
+    axis = validate_axis(axis, arr.ndim)
+
+    if isinstance(obj, slice):
+        tmp = np.arange(*obj.indices(arr.shape[axis]))
+        obj = tmp[::-1] if obj.step and obj.step < 0 else tmp
+    else:
+        obj = np.asarray(obj)
+        obj = np.where(obj < 0, obj + arr.shape[axis], obj)
+        obj = np.unique(obj)
+
+    target_arr = split_at_breaks(arr, obj, axis)
+
+    target_arr = [
+        arr[
+            tuple(slice(1, None) if axis == n else slice(None) for n in range(arr.ndim))
+        ]
+        if i != 0
+        else arr
+        for i, arr in enumerate(target_arr)
+    ]
+    return concatenate(target_arr, axis=axis)
+
+
 @derived_from(np)
 def append(arr, values, axis=None):
     # based on numpy.append

diff --git a/dask/array/tests/test_array_function.py b/dask/array/tests/test_array_function.py
--- a/dask/array/tests/test_array_function.py
+++ b/dask/array/tests/test_array_function.py
@@ -33,6 +33,8 @@
         lambda x: np.min(x),
         lambda x: np.amin(x),
         lambda x: np.round(x),
+        lambda x: np.insert(x, 0, 3, axis=0),
+        lambda x: np.delete(x, 0, axis=0),
     ],
 )
 def test_array_function_dask(func):
diff --git a/dask/array/tests/test_routines.py b/dask/array/tests/test_routines.py
--- a/dask/array/tests/test_routines.py
+++ b/dask/array/tests/test_routines.py
@@ -1713,6 +1713,33 @@ def test_multi_insert():
     )
 
 
+def test_delete():
+    x = np.random.randint(10, size=(10, 10))
+    a = da.from_array(x, chunks=(5, 5))
+
+    assert_eq(np.delete(x, 0, axis=0), da.delete(a, 0, axis=0))
+    assert_eq(np.delete(x, 3, axis=-1), da.delete(a, 3, axis=-1))
+    assert_eq(np.delete(x, 5, axis=1), da.delete(a, 5, axis=1))
+    assert_eq(np.delete(x, -1, axis=-2), da.delete(a, -1, axis=-2))
+    assert_eq(np.delete(x, [2, 3, 3], axis=1), da.delete(a, [2, 3, 3], axis=1))
+    assert_eq(
+        np.delete(x, [2, 3, 8, 8], axis=0),
+        da.delete(a, [2, 3, 8, 8], axis=0),
+    )
+    assert_eq(np.delete(x, slice(1, 4), axis=1), da.delete(a, slice(1, 4), axis=1))
+    assert_eq(
+        np.delete(x, slice(1, 10, -1), axis=1), da.delete(a, slice(1, 10, -1), axis=1)
+    )
+
+    assert_eq(np.delete(a, [4, 2], axis=0), da.delete(a, [4, 2], axis=0))
+
+    with pytest.raises(AxisError):
+        da.delete(a, [3], axis=2)
+
+    with pytest.raises(AxisError):
+        da.delete(a, [3], axis=-3)
+
+
 def test_result_type():
     a = da.from_array(np.ones(5, np.float32), chunks=(3,))
     b = da.from_array(np.ones(5, np.int16), chunks=(3,))

Requesting: dask array equivelant to numpy.delete() 
After lots of googling I found no information on how to delete elements in a dask.array at particular indices similar to the [`numpy.delete`](https://numpy.org/doc/stable/reference/generated/numpy.delete.html?highlight=delete#numpy.delete) function. If there is indeed no function to achieve this, may I request such a function? 

I already ended up writing my own `delete()` 'helper function' modelled closely on the dask.array.routines.insert  function. But I am only a dabbler in programming and no fan of writing my own helper functions. Perhaps the code could be double checked and revamped by someone more apt? I will leave it here in any case: 


```python
import numpy as np
from tlz import concat, sliding_window
from dask.array.core import  concatenate
from dask.utils import derived_from
from dask.array.utils import validate_axis


def split_and_delete_after_breaks(array, breaks, axis):
    """split an array into a list of arrays (using slices) with the first element in the array after the break deleted


    >>> split_and_delete_after_breaks(np.arange(6), [3, 5])
    [array([0, 1, 2]), array([4]), array([], dtype=int64)]
    """
    padded_breaks = concat([[None], breaks, [None]])
    slices = [slice(i, j) for i, j in sliding_window(2, padded_breaks)]
    preslice = (slice(None),) * axis
    #Below: make sure not to delete first element of array residing at split_del_array[0]
    #   >>> forgot why, but ,intrinsically gets deleted when a zero slice is supplied (which is what we want)
    split_del_array = [array[preslice + (s,)][1:] if i != 0 else array[preslice + (s,)] for i, s in enumerate(slices)]
    return split_del_array #Warning return still contains empty arrays, gets resolved by concatenate in parent function.

@derived_from(np)
def delete(arr, obj, axis):
    # axis is a required argument here to avoid needing to deal with the numpy
    # default case (which reshapes the array to make it flat)
    axis = validate_axis(axis, arr.ndim)

    if isinstance(obj, slice):
        obj = np.arange(*obj.indices(arr.shape[axis]))
    obj = np.asarray(obj)
    scalar_obj = obj.ndim == 0
    if scalar_obj:
        obj = np.atleast_1d(obj)

    obj = np.where(obj < 0, obj + arr.shape[axis], obj)
    if (np.diff(obj) < 0).any():
        raise NotImplementedError(
            "da.delete only implemented for monotonic ``obj`` argument"
        )

    target_arr = split_and_delete_after_breaks(arr, np.unique(obj), axis)
    
    return concatenate(target_arr, axis=axis)
`

```
and an alternative which is even similar to the insert function, but requires a second list comprehension:

```python
import numpy as np
from tlz import concat, sliding_window
from dask.array.core import  concatenate
from dask.utils import derived_from
from dask.array.utils import validate_axis

def split_at_breaks(array, breaks, axis=0): #This func is already in file
    """Split an array into a list of arrays (using slices) at the given breaks

    >>> split_at_breaks(np.arange(6), [3, 5])
    [array([0, 1, 2]), array([3, 4]), array([5])]
    """
    padded_breaks = concat([[None], breaks, [None]])
    slices = [slice(i, j) for i, j in sliding_window(2, padded_breaks)]
    preslice = (slice(None),) * axis
    split_array = [array[preslice + (s,)] for s in slices]
    return split_array


@derived_from(np)
def delete(arr, obj, axis):
    # axis is a required argument here to avoid needing to deal with the numpy
    # default case (which reshapes the array to make it flat)
    axis = validate_axis(axis, arr.ndim)

    if isinstance(obj, slice):
        obj = np.arange(*obj.indices(arr.shape[axis]))
    obj = np.asarray(obj)
    scalar_obj = obj.ndim == 0
    if scalar_obj:
        obj = np.atleast_1d(obj)

    obj = np.where(obj < 0, obj + arr.shape[axis], obj)
    if (np.diff(obj) < 0).any():
        raise NotImplementedError(
            "da.delete only implemented for monotonic ``obj`` argument"
        )

    target_arr = split_at_breaks(arr, np.unique(obj), axis)
    if np.any((obj == 0)|(obj == -arr.size)): #when first index is referenced 
        target_arr = [target_arr[i][1:] for i, _ in enumerate(target_arr)] #take out first element in first array
    else:
        target_arr = [target_arr[i][1:] if i != 0 else target_arr[i] for i, _ in enumerate(target_arr)] #leave first array unchanged
    return concatenate(target_arr, axis=axis)
```

On a side note: unlike in numpy No "Index out of bounds" Errors are raised on the implemented insert function (and this delete function). perhaps this also needs some attention?

dask/array/tests/test_array_function.py::test_array_function_dask[<lambda>19] dask/array/tests/test_routines.py::test_delete
dask/array/tests/test_routines.py::test_shape[shape1] dask/array/tests/test_routines.py::test_apply_over_axes[shape0-axes0-sum1-<lambda>] dask/array/tests/test_routines.py::test_ravel_multi_index[arr2-1-kwargs2] dask/array/tests/test_routines.py::test_ptp[shape0-None] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape2-chunks2-atleast_2d] dask/array/tests/test_routines.py::test_roll[axis4-3-chunks0] dask/array/tests/test_routines.py::test_squeeze[0-False] dask/array/tests/test_routines.py::test_histogram_delayed_range[False-None-False-True] dask/array/tests/test_routines.py::test_histogram_delayed_range[True-None-True-True] dask/array/tests/test_routines.py::test_union1d[False-shape2] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape16-shape26-atleast_3d] dask/array/tests/test_routines.py::test_gradient[2-shape1-varargs1-None] dask/array/tests/test_routines.py::test_flip[shape3-flip-kwargs4] dask/array/tests/test_routines.py::test_outer[shape11-shape21] dask/array/tests/test_routines.py::test_histogram_delayed_range[True-1-True-False] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape3-chunks3-atleast_1d] dask/array/tests/test_routines.py::test_flip[shape3-fliplr-kwargs1] dask/array/tests/test_routines.py::test_histogram_bin_range_raises[10-hist_range5] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape114-shape214-atleast_2d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape18-shape28-atleast_2d] dask/array/tests/test_routines.py::test_count_nonzero_obj_axis[axis2] dask/array/tests/test_routines.py::test_gradient[1-shape1-varargs1-None] dask/array/tests/test_routines.py::test_transpose_negative_axes dask/array/tests/test_routines.py::test_unique_rand[shape3-chunks3-0-10-796] dask/array/tests/test_routines.py::test_count_nonzero_obj dask/array/tests/test_routines.py::test_diff[2-shape3--1] dask/array/tests/test_routines.py::test_apply_over_axes[shape3-axes3-sum1-<lambda>] dask/array/tests/test_routines.py::test_flip[shape0-flip-kwargs2] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape2-2-range2-<lambda>-False] dask/array/tests/test_routines.py::test_ravel_with_array_like dask/array/tests/test_array_function.py::test_unregistered_func[<lambda>5] dask/array/tests/test_routines.py::test_unravel_index_empty dask/array/tests/test_array_function.py::test_array_function_dask[<lambda>8] dask/array/tests/test_routines.py::test_union1d[True-shape0] dask/array/tests/test_routines.py::test_matmul[x_shape6-y_shape6-x_chunks6-y_chunks6] dask/array/tests/test_routines.py::test_histogram_delayed_range[False-1-False-True] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape1-1-cumsum-<lambda>-True] dask/array/tests/test_routines.py::test_unique_kwargs[False-True-True] dask/array/tests/test_routines.py::test_histogram_delayed_bins[True-True] dask/array/tests/test_routines.py::test_unique_rand[shape0-chunks0-0-10-23] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape3-chunks3-atleast_3d] dask/array/tests/test_routines.py::test_squeeze[axis3-False] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape0-chunks0-atleast_2d] dask/array/tests/test_array_function.py::test_array_function_dask[<lambda>16] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks13] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape1-1-sum-<lambda>-False] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape13-shape23-atleast_2d] dask/array/tests/test_routines.py::test_moveaxis_rollaxis[shape2-rollaxis] dask/array/tests/test_routines.py::test_compress dask/array/tests/test_routines.py::test_apply_along_axis[input_shape0-0-range-<lambda>-False] dask/array/tests/test_routines.py::test_ediff1d[None-None-shape0] dask/array/tests/test_routines.py::test_count_nonzero_obj_axis[None] dask/array/tests/test_routines.py::test_iscomplexobj dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape111-shape211-atleast_2d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape114-shape214-atleast_3d] dask/array/tests/test_array_function.py::test_array_function_dask[<lambda>15] dask/array/tests/test_routines.py::test_ptp[shape1-0] dask/array/tests/test_routines.py::test_diff[1-shape2-2] dask/array/tests/test_routines.py::test_matmul[x_shape29-y_shape29-x_chunks29-y_chunks29] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape0-0-ndim-<lambda>-False] dask/array/tests/test_routines.py::test_squeeze[axis3-True] dask/array/tests/test_routines.py::test_extract dask/array/tests/test_routines.py::test_flip[shape1-fliplr-kwargs1] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape3--1-cumsum-<lambda>-True] dask/array/tests/test_array_function.py::test_unregistered_func[<lambda>8] dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks0-1] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape112-shape212-atleast_2d] dask/array/tests/test_routines.py::test_dot_method dask/array/tests/test_array_function.py::test_array_function_dask[<lambda>0] dask/array/tests/test_array_function.py::test_array_function_dask[<lambda>9] dask/array/tests/test_routines.py::test_histogram_delayed_n_bins_raises_with_density dask/array/tests/test_routines.py::test_apply_along_axis[input_shape0-0-sum-<lambda>-False] dask/array/tests/test_routines.py::test_roll[1-7-chunks1] dask/array/tests/test_routines.py::test_argwhere_obj dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks7] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape11-shape21-atleast_3d] dask/array/tests/test_routines.py::test_unique_rand[shape1-chunks1-0-10-23] dask/array/tests/test_routines.py::test_gradient[1-shape8-varargs8-axis8] dask/array/tests/test_routines.py::test_coarsen dask/array/tests/test_routines.py::test_matmul[x_shape0-y_shape0-x_chunks0-y_chunks0] dask/array/tests/test_routines.py::test_unique_kwargs[True-False-False] dask/array/tests/test_routines.py::test_unique_rand[shape2-chunks2-0-10-23] dask/array/tests/test_routines.py::test_squeeze[-1-True] dask/array/tests/test_routines.py::test_count_nonzero_axis[None] dask/array/tests/test_routines.py::test_matmul[x_shape24-y_shape24-x_chunks24-y_chunks24] dask/array/tests/test_routines.py::test_roll[-1-3-chunks0] dask/array/tests/test_routines.py::test_matmul[x_shape3-y_shape3-x_chunks3-y_chunks3] dask/array/tests/test_routines.py::test_flip[shape4-flip-kwargs5] dask/array/tests/test_routines.py::test_einsum_order[C] dask/array/tests/test_routines.py::test_einsum_casting[equiv] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape0-chunks0-atleast_1d] dask/array/tests/test_routines.py::test_gradient[2-shape7-varargs7-axis7] dask/array/tests/test_routines.py::test_flip[shape3-flip-kwargs3] dask/array/tests/test_routines.py::test_flip[shape3-flipud-kwargs0] dask/array/tests/test_routines.py::test_roll[-1-3-chunks1] dask/array/tests/test_routines.py::test_matmul[x_shape11-y_shape11-x_chunks11-y_chunks11] dask/array/tests/test_routines.py::test_einsum_split_every[2] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape4-chunks4-atleast_1d] dask/array/tests/test_routines.py::test_einsum_broadcasting_contraction dask/array/tests/test_routines.py::test_round dask/array/tests/test_routines.py::test_isin_assume_unique[False] dask/array/tests/test_array_function.py::test_array_function_dask[<lambda>3] dask/array/tests/test_routines.py::test_roll[axis4-shift3-chunks1] dask/array/tests/test_routines.py::test_flip[shape3-flip-kwargs5] dask/array/tests/test_routines.py::test_matmul[x_shape4-y_shape4-x_chunks4-y_chunks4] dask/array/tests/test_routines.py::test_apply_over_axes[shape2-axes2-sum1-<lambda>] dask/array/tests/test_array_function.py::test_array_function_dask[<lambda>18] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks9] dask/array/tests/test_routines.py::test_flip[shape2-fliplr-kwargs1] dask/array/tests/test_routines.py::test_gradient[1-shape2-varargs2-None] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape1-chunks1-atleast_2d] dask/array/tests/test_routines.py::test_where_nonzero dask/array/tests/test_routines.py::test_apply_along_axis[input_shape3--1-range2-<lambda>-False] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape15-shape25-atleast_2d] dask/array/tests/test_routines.py::test_flip[shape0-flip-kwargs5] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape4-chunks4-atleast_2d] dask/array/tests/test_routines.py::test_matmul[x_shape21-y_shape21-x_chunks21-y_chunks21] dask/array/tests/test_array_function.py::test_unregistered_func[<lambda>7] dask/array/tests/test_routines.py::test_vdot[shape0-chunks0] dask/array/tests/test_routines.py::test_ravel_multi_index[arr1-chunks1-kwargs1] dask/array/tests/test_array_function.py::test_array_function_dask[<lambda>5] dask/array/tests/test_routines.py::test_gradient[2-shape10-varargs10--1] dask/array/tests/test_routines.py::test_roll[None-9-chunks0] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape113-shape213-atleast_1d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape111-shape211-atleast_1d] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape13-shape23-atleast_3d] dask/array/tests/test_routines.py::test_histogram_bin_range_raises[10-hist_range4] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape1-1-range-<lambda>-False] dask/array/tests/test_routines.py::test_stack_unknown_chunk_sizes[vstack-vstack-2] dask/array/tests/test_routines.py::test_insert dask/array/tests/test_array_function.py::test_unregistered_func[<lambda>6] dask/array/tests/test_routines.py::test_histogram_alternative_bins_range dask/array/tests/test_routines.py::test_average[True-a1] dask/array/tests/test_routines.py::test_gradient[1-shape0-varargs0-None] dask/array/tests/test_routines.py::test_average_weights dask/array/tests/test_routines.py::test_choose dask/array/tests/test_routines.py::test_union1d[False-shape1] dask/array/tests/test_routines.py::test_roll[None-9-chunks1] dask/array/tests/test_routines.py::test_matmul[x_shape27-y_shape27-x_chunks27-y_chunks27] dask/array/tests/test_routines.py::test_histogram_bin_range_raises[None-None] dask/array/tests/test_routines.py::test_tensordot_2[axes4] dask/array/tests/test_routines.py::test_roll[axis5-7-chunks1] dask/array/tests/test_routines.py::test_histogram_return_type dask/array/tests/test_routines.py::test_ediff1d[0-0-shape0] dask/array/tests/test_array_function.py::test_unregistered_func[<lambda>12] dask/array/tests/test_routines.py::test_roll[0-3-chunks1] dask/array/tests/test_routines.py::test_bincount dask/array/tests/test_routines.py::test_unravel_index dask/array/tests/test_routines.py::test_moveaxis_rollaxis[shape1-rollaxis] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape11-shape21-atleast_1d] dask/array/tests/test_routines.py::test_flip[shape2-flipud-kwargs0] dask/array/tests/test_routines.py::test_matmul[x_shape18-y_shape18-x_chunks18-y_chunks18] dask/array/tests/test_routines.py::test_unique_kwargs[True-True-True] dask/array/tests/test_array_function.py::test_array_notimpl_function_dask[<lambda>0] dask/array/tests/test_routines.py::test_diff[0-shape1-1] dask/array/tests/test_routines.py::test_nonzero_method dask/array/tests/test_routines.py::test_squeeze[-1-False] dask/array/tests/test_routines.py::test_apply_over_axes[shape1-0-sum1-<lambda>] dask/array/tests/test_routines.py::test_roll[axis5-3-chunks1] dask/array/tests/test_routines.py::test_array_return_type dask/array/tests/test_routines.py::test_tensordot_2[axes2] dask/array/tests/test_routines.py::test_isnull dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape0-chunks0-atleast_3d] dask/array/tests/test_routines.py::test_hstack dask/array/tests/test_routines.py::test_unique_rand[shape1-chunks1-0-10-796] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks5] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape0-0-cumsum-<lambda>-True] dask/array/tests/test_routines.py::test_roll[1-9-chunks1] dask/array/tests/test_array_function.py::test_array_notimpl_function_dask[<lambda>1] dask/array/tests/test_routines.py::test_tensordot_double_contraction_ngt2 dask/array/tests/test_routines.py::test_flip[shape0-fliplr-kwargs1] dask/array/tests/test_routines.py::test_roll[0-9-chunks1] dask/array/tests/test_routines.py::test_diff[2-shape0-0] dask/array/tests/test_array_function.py::test_array_function_dask[<lambda>4] dask/array/tests/test_routines.py::test_ediff1d[None-None-shape1] dask/array/tests/test_routines.py::test_gradient[1-shape10-varargs10--1] dask/array/tests/test_routines.py::test_unique_kwargs[False-False-True] dask/array/tests/test_routines.py::test_average[False-a0] dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast0-arr_downcast0-dot] dask/array/tests/test_routines.py::test_histogram_delayed_range[True-0-False-False] dask/array/tests/test_routines.py::test_digitize dask/array/tests/test_routines.py::test_histogram_delayed_bins[False-False] dask/array/tests/test_routines.py::test_roll[None-shift4-chunks1] dask/array/tests/test_routines.py::test_histogram_bins_range_with_nan_array dask/array/tests/test_array_function.py::test_unregistered_func[<lambda>3] dask/array/tests/test_routines.py::test_tensordot_more_than_26_dims dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks0] dask/array/tests/test_routines.py::test_vstack dask/array/tests/test_routines.py::test_histogram_bin_range_raises[10-hist_range6] dask/array/tests/test_routines.py::test_matmul[x_shape25-y_shape25-x_chunks25-y_chunks25] dask/array/tests/test_routines.py::test_average[True-a0] dask/array/tests/test_routines.py::test_gradient[1-shape5-varargs5-2] dask/array/tests/test_routines.py::test_matmul[x_shape2-y_shape2-x_chunks2-y_chunks2] dask/array/tests/test_array_function.py::test_array_function_dask[<lambda>11] dask/array/tests/test_routines.py::test_count_nonzero_obj_axis[axis3] dask/array/tests/test_routines.py::test_piecewise dask/array/tests/test_routines.py::test_gradient[2-shape5-varargs5-2] dask/array/tests/test_routines.py::test_count_nonzero_obj_axis[0] dask/array/tests/test_routines.py::test_tensordot_2[0] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape17-shape27-atleast_3d] dask/array/tests/test_routines.py::test_argwhere_str dask/array/tests/test_routines.py::test_einsum_broadcasting_contraction2 dask/array/tests/test_array_function.py::test_unregistered_func[<lambda>1] dask/array/tests/test_routines.py::test_histogram_delayed_range[False-1-True-False] dask/array/tests/test_routines.py::test_moveaxis_rollaxis_keyword dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape111-shape211-atleast_3d] dask/array/tests/test_routines.py::test_append dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape110-shape210-atleast_1d] dask/array/tests/test_routines.py::test_count_nonzero dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape113-shape213-atleast_3d] dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks3-10] dask/array/tests/test_routines.py::test_flip[shape3-flip-kwargs2] dask/array/tests/test_routines.py::test_roll[1-shift3-chunks1] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape19-shape29-atleast_2d] dask/array/tests/test_routines.py::test_derived_docstrings dask/array/tests/test_routines.py::test_matmul[x_shape31-y_shape31-x_chunks31-y_chunks31] dask/array/tests/test_routines.py::test_matmul[x_shape9-y_shape9-x_chunks9-y_chunks9] dask/array/tests/test_array_function.py::test_array_function_dask[<lambda>17] dask/array/tests/test_routines.py::test_count_nonzero_axis[axis3] dask/array/tests/test_routines.py::test_einsum_casting[no] dask/array/tests/test_routines.py::test_roll[axis4-3-chunks1] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape2-2-ndim-<lambda>-False] dask/array/tests/test_routines.py::test_flip[shape2-flip-kwargs3] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks14] dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks9-4] dask/array/tests/test_routines.py::test_roll[None-3-chunks0] dask/array/tests/test_array_function.py::test_array_function_dask[<lambda>2] dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks8-10] dask/array/tests/test_array_function.py::test_unregistered_func[<lambda>2] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape112-shape212-atleast_1d] dask/array/tests/test_routines.py::test_histogram_normed_deprecation dask/array/tests/test_routines.py::test_matmul[x_shape23-y_shape23-x_chunks23-y_chunks23] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape113-shape213-atleast_2d] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks4] dask/array/tests/test_routines.py::test_diff[1-shape1-1] dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast2-arr_downcast2-equal] dask/array/tests/test_array_function.py::test_unregistered_func[<lambda>4] dask/array/tests/test_routines.py::test_ravel_multi_index[arr4-chunks4-kwargs4] dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks4-10] dask/array/tests/test_routines.py::test_roll[axis5-shift4-chunks1] dask/array/tests/test_routines.py::test_apply_over_axes[shape1-0-range-<lambda>] dask/array/tests/test_routines.py::test_histogram_delayed_range[True-0-True-False] dask/array/tests/test_array_function.py::test_array_function_dask[<lambda>13] dask/array/tests/test_routines.py::test_diff[1-shape0-0] dask/array/tests/test_routines.py::test_multi_insert dask/array/tests/test_routines.py::test_roll[0-9-chunks0] dask/array/tests/test_routines.py::test_flip[shape4-flip-kwargs4] dask/array/tests/test_routines.py::test_flip[shape4-fliplr-kwargs1] dask/array/tests/test_routines.py::test_einsum_casting[safe] dask/array/tests/test_array_function.py::test_array_function_sparse[<lambda>0] dask/array/tests/test_routines.py::test_matmul[x_shape12-y_shape12-x_chunks12-y_chunks12] dask/array/tests/test_routines.py::test_roll[1-3-chunks0] dask/array/tests/test_routines.py::test_histogram_delayed_range[True-None-True-False] dask/array/tests/test_routines.py::test_flip[shape1-flipud-kwargs0] dask/array/tests/test_routines.py::test_histogram_delayed_bins[True-False] dask/array/tests/test_routines.py::test_apply_over_axes[shape4-axes4-sum0-<lambda>] dask/array/tests/test_routines.py::test_matmul[x_shape28-y_shape28-x_chunks28-y_chunks28] dask/array/tests/test_routines.py::test_einsum_invalid_args dask/array/tests/test_routines.py::test_flip[shape4-flip-kwargs2] dask/array/tests/test_routines.py::test_unique_kwargs[True-False-True] dask/array/tests/test_routines.py::test_roll[axis5-9-chunks1] dask/array/tests/test_routines.py::test_unique_kwargs[False-True-False] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape3--1-sum-<lambda>-False] dask/array/tests/test_routines.py::test_take_dask_from_numpy dask/array/tests/test_routines.py::test_gradient[2-shape8-varargs8-axis8] dask/array/tests/test_routines.py::test_gradient[2-shape3-varargs3-0] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape10-shape20-atleast_3d] dask/array/tests/test_routines.py::test_histogram_delayed_range[True-None-False-True] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape10-shape20-atleast_2d] dask/array/tests/test_array_function.py::test_array_function_fft[fft2] dask/array/tests/test_routines.py::test_histogram_delayed_range[False-1-False-False] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape12-shape22-atleast_1d] dask/array/tests/test_routines.py::test_histogram_delayed_range[False-0-False-True] dask/array/tests/test_routines.py::test_matmul[x_shape19-y_shape19-x_chunks19-y_chunks19] dask/array/tests/test_routines.py::test_where_bool_optimization dask/array/tests/test_routines.py::test_einsum_order[A] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape4-chunks4-atleast_3d] dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast1-arr_downcast1-equal] dask/array/tests/test_routines.py::test_moveaxis_rollaxis[shape0-rollaxis] dask/array/tests/test_routines.py::test_flip[shape0-flipud-kwargs0] dask/array/tests/test_routines.py::test_matmul[x_shape16-y_shape16-x_chunks16-y_chunks16] dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks1-2] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape15-shape25-atleast_1d] dask/array/tests/test_routines.py::test_roll[axis5-9-chunks0] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape11-shape21-atleast_2d] dask/array/tests/test_routines.py::test_histogram_delayed_range[True-1-False-False] dask/array/tests/test_array_function.py::test_unregistered_func[<lambda>9] dask/array/tests/test_routines.py::test_isclose dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape1-chunks1-atleast_1d] dask/array/tests/test_routines.py::test_count_nonzero_axis[0] dask/array/tests/test_array_function.py::test_unregistered_func[<lambda>0] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape1-1-ndim-<lambda>-False] dask/array/tests/test_routines.py::test_roll[axis5-7-chunks0] dask/array/tests/test_routines.py::test_roll[-1-shift4-chunks0] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape10-shape20-atleast_1d] dask/array/tests/test_routines.py::test_diff[2-shape2-2] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks10] dask/array/tests/test_routines.py::test_matmul[x_shape8-y_shape8-x_chunks8-y_chunks8] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape3--1-ndim-<lambda>-False] dask/array/tests/test_routines.py::test_atleast_nd_no_args[atleast_3d] dask/array/tests/test_routines.py::test_apply_over_axes[shape4-axes4-range-<lambda>] dask/array/tests/test_routines.py::test_apply_over_axes[shape3-axes3-range-<lambda>] dask/array/tests/test_routines.py::test_roll[-1-7-chunks1] dask/array/tests/test_routines.py::test_matmul[x_shape17-y_shape17-x_chunks17-y_chunks17] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks15] dask/array/tests/test_routines.py::test_histogram_delayed_range[True-None-False-False] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape2-chunks2-atleast_1d] dask/array/tests/test_routines.py::test_histogram_delayed_range[True-0-True-True] dask/array/tests/test_routines.py::test_ravel dask/array/tests/test_routines.py::test_count_nonzero_str dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast1-arr_downcast1-matmul] dask/array/tests/test_routines.py::test_roll[axis4-7-chunks1] dask/array/tests/test_routines.py::test_roll[axis4-shift3-chunks0] dask/array/tests/test_array_function.py::test_array_notimpl_function_dask[<lambda>2] dask/array/tests/test_routines.py::test_tensordot_2[1] dask/array/tests/test_routines.py::test_roll[None-7-chunks0] dask/array/tests/test_routines.py::test_gradient[1-shape7-varargs7-axis7] dask/array/tests/test_routines.py::test_gradient[2-shape2-varargs2-None] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape1-1-range2-<lambda>-False] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks1] dask/array/tests/test_routines.py::test_einsum_broadcasting_contraction3 dask/array/tests/test_routines.py::test_histogram_delayed_range[False-0-False-False] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape14-shape24-atleast_1d] dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast2-arr_downcast2-matmul] dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast2-arr_downcast2-dot] dask/array/tests/test_routines.py::test_einsum_casting[unsafe] dask/array/tests/test_routines.py::test_atleast_nd_no_args[atleast_2d] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape3-chunks3-atleast_2d] dask/array/tests/test_routines.py::test_roll[None-shift4-chunks0] dask/array/tests/test_routines.py::test_gradient[1-shape6-varargs6--1] dask/array/tests/test_routines.py::test_histogram dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape19-shape29-atleast_1d] dask/array/tests/test_routines.py::test_tensordot dask/array/tests/test_routines.py::test_vdot[shape1-chunks1] dask/array/tests/test_routines.py::test_ravel_multi_index[arr3-chunks3-kwargs3] dask/array/tests/test_array_function.py::test_array_function_sparse_tensordot dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape12-shape22-atleast_3d] dask/array/tests/test_routines.py::test_unique_kwargs[True-True-False] dask/array/tests/test_routines.py::test_roll[axis4-9-chunks0] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks6] dask/array/tests/test_routines.py::test_union1d[False-shape0] dask/array/tests/test_routines.py::test_flip[shape2-flip-kwargs4] dask/array/tests/test_routines.py::test_transpose dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast1-arr_downcast1-<lambda>] dask/array/tests/test_routines.py::test_take dask/array/tests/test_routines.py::test_atleast_nd_no_args[atleast_1d] dask/array/tests/test_array_function.py::test_array_function_sparse[<lambda>1] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape1-chunks1-atleast_3d] dask/array/tests/test_routines.py::test_apply_over_axes[shape3-axes3-sum0-<lambda>] dask/array/tests/test_routines.py::test_histogram_delayed_bins[False-True] dask/array/tests/test_routines.py::test_roll[None-7-chunks1] dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks7-16] dask/array/tests/test_routines.py::test_transpose_skip_when_possible dask/array/tests/test_routines.py::test_nonzero dask/array/tests/test_routines.py::test_moveaxis_rollaxis_numpy_api dask/array/tests/test_routines.py::test_count_nonzero_axis[axis2] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape110-shape210-atleast_2d] dask/array/tests/test_routines.py::test_allclose dask/array/tests/test_routines.py::test_moveaxis_rollaxis[shape2-moveaxis] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape14-shape24-atleast_2d] dask/array/tests/test_routines.py::test_apply_over_axes[shape1-0-sum0-<lambda>] dask/array/tests/test_routines.py::test_matmul[x_shape30-y_shape30-x_chunks30-y_chunks30] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks11] dask/array/tests/test_routines.py::test_flip[shape1-flip-kwargs3] dask/array/tests/test_routines.py::test_histogram_delayed_range[False-1-True-True] dask/array/tests/test_routines.py::test_roll[1-3-chunks1] dask/array/tests/test_routines.py::test_roll[-1-shift3-chunks1] dask/array/tests/test_array_function.py::test_array_function_dask[<lambda>14] dask/array/tests/test_routines.py::test_bincount_unspecified_minlength dask/array/tests/test_routines.py::test_roll[axis4-shift4-chunks1] dask/array/tests/test_routines.py::test_einsum_optimize[optimize_opts2] dask/array/tests/test_routines.py::test_diff[2-shape1-1] dask/array/tests/test_routines.py::test_roll[None-3-chunks1] dask/array/tests/test_array_function.py::test_unregistered_func[<lambda>11] dask/array/tests/test_routines.py::test_corrcoef dask/array/tests/test_routines.py::test_tensordot_2[axes6] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape17-shape27-atleast_2d] dask/array/tests/test_routines.py::test_matmul[x_shape14-y_shape14-x_chunks14-y_chunks14] dask/array/tests/test_routines.py::test_flip[shape1-flip-kwargs4] dask/array/tests/test_routines.py::test_roll[1-shift4-chunks1] dask/array/tests/test_routines.py::test_roll[axis4-shift4-chunks0] dask/array/tests/test_routines.py::test_where_incorrect_args dask/array/tests/test_routines.py::test_matmul[x_shape26-y_shape26-x_chunks26-y_chunks26] dask/array/tests/test_routines.py::test_dstack dask/array/tests/test_routines.py::test_tensordot_double_contraction_neq2[auto] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape112-shape212-atleast_3d] dask/array/tests/test_routines.py::test_roll[axis4-9-chunks1] dask/array/tests/test_routines.py::test_roll[1-shift4-chunks0] dask/array/tests/test_routines.py::test_isnull_result_is_an_array dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks3] dask/array/tests/test_routines.py::test_diff[1-shape3--1] dask/array/tests/test_routines.py::test_histogram_delayed_range[False-0-True-True] dask/array/tests/test_routines.py::test_unique_kwargs[False-False-False] dask/array/tests/test_routines.py::test_einsum_order[K] dask/array/tests/test_routines.py::test_histogram_delayed_range[False-None-False-False] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape18-shape28-atleast_3d] dask/array/tests/test_routines.py::test_unique_rand[shape2-chunks2-0-10-796] dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks6-10] dask/array/tests/test_routines.py::test_roll[axis5-shift3-chunks0] dask/array/tests/test_routines.py::test_matmul[x_shape22-y_shape22-x_chunks22-y_chunks22] dask/array/tests/test_routines.py::test_bincount_with_weights dask/array/tests/test_routines.py::test_histogram_bin_range_raises[bins9-None] dask/array/tests/test_routines.py::test_histogram_delayed_range[False-None-True-False] dask/array/tests/test_routines.py::test_squeeze[None-False] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape0-0-range2-<lambda>-False] dask/array/tests/test_routines.py::test_histogram_bin_range_raises[bins8-None] dask/array/tests/test_routines.py::test_matmul[x_shape20-y_shape20-x_chunks20-y_chunks20] dask/array/tests/test_routines.py::test_apply_over_axes[shape2-axes2-sum0-<lambda>] dask/array/tests/test_routines.py::test_roll[0-shift3-chunks1] dask/array/tests/test_array_function.py::test_array_function_sparse[<lambda>2] dask/array/tests/test_routines.py::test_histogram_bin_range_raises[bins10-None] dask/array/tests/test_routines.py::test_gradient[1-shape4-varargs4-1] dask/array/tests/test_routines.py::test_roll[0-7-chunks0] dask/array/tests/test_routines.py::test_roll[None-shift3-chunks1] dask/array/tests/test_routines.py::test_union1d[True-shape1] dask/array/tests/test_routines.py::test_gradient[2-shape0-varargs0-None] dask/array/tests/test_routines.py::test_matmul[x_shape1-y_shape1-x_chunks1-y_chunks1] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape2-2-sum-<lambda>-False] dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast1-arr_downcast1-dot] dask/array/tests/test_routines.py::test_outer[shape10-shape20] dask/array/tests/test_routines.py::test_histogram_bin_range_raises[None-hist_range3] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape2-2-range-<lambda>-False] dask/array/tests/test_routines.py::test_apply_over_axes[shape2-axes2-range-<lambda>] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape12-shape22-atleast_2d] dask/array/tests/test_routines.py::test_ravel_multi_index[arr5-chunks5-kwargs5] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks12] dask/array/tests/test_routines.py::test_gradient[2-shape4-varargs4-1] dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks2-2] dask/array/tests/test_routines.py::test_einsum_optimize[optimize_opts1] dask/array/tests/test_routines.py::test_tensordot_2[axes3] dask/array/tests/test_routines.py::test_roll[0-shift3-chunks0] dask/array/tests/test_routines.py::test_flip[shape0-flip-kwargs4] dask/array/tests/test_routines.py::test_einsum_split_every[None] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape110-shape210-atleast_3d] dask/array/tests/test_routines.py::test_squeeze[None-True] dask/array/tests/test_routines.py::test_unique_rand[shape3-chunks3-0-10-23] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape114-shape214-atleast_1d] dask/array/tests/test_routines.py::test_matmul[x_shape7-y_shape7-x_chunks7-y_chunks7] dask/array/tests/test_routines.py::test_histogram_delayed_range[False-0-True-False] dask/array/tests/test_routines.py::test_histogram_bin_range_raises[10-None] dask/array/tests/test_routines.py::test_histogram_bin_range_raises[10-hist_range7] dask/array/tests/test_routines.py::test_ravel_multi_index[arr0-chunks0-kwargs0] dask/array/tests/test_array_function.py::test_non_existent_func dask/array/tests/test_routines.py::test_einsum_optimize[optimize_opts0] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape2-2-cumsum-<lambda>-True] dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast2-arr_downcast2-<lambda>] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape16-shape26-atleast_1d] dask/array/tests/test_routines.py::test_average[False-a1] dask/array/tests/test_routines.py::test_roll[0-7-chunks1] dask/array/tests/test_routines.py::test_roll[axis4-7-chunks0] dask/array/tests/test_routines.py::test_moveaxis_rollaxis[shape1-moveaxis] dask/array/tests/test_routines.py::test_tensordot_double_contraction_neq2[chunks1] dask/array/tests/test_routines.py::test_shape[shape2] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks2] dask/array/tests/test_routines.py::test_tensordot_double_contraction_neq2[chunks2] dask/array/tests/test_routines.py::test_isin_assume_unique[True] dask/array/tests/test_routines.py::test_moveaxis_rollaxis[shape0-moveaxis] dask/array/tests/test_array_function.py::test_array_function_dask[<lambda>1] dask/array/tests/test_routines.py::test_flip[shape1-flip-kwargs5] dask/array/tests/test_routines.py::test_ediff1d[0-0-shape1] dask/array/tests/test_array_function.py::test_array_function_dask[<lambda>7] dask/array/tests/test_routines.py::test_aligned_coarsen_chunks[chunks5-8] dask/array/tests/test_routines.py::test_ptp[shape2-1] dask/array/tests/test_routines.py::test_matmul[x_shape10-y_shape10-x_chunks10-y_chunks10] dask/array/tests/test_routines.py::test_roll[axis5-3-chunks0] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape15-shape25-atleast_3d] dask/array/tests/test_routines.py::test_where_scalar_dtype dask/array/tests/test_routines.py::test_apply_over_axes[shape0-axes0-range-<lambda>] dask/array/tests/test_routines.py::test_matmul[x_shape13-y_shape13-x_chunks13-y_chunks13] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape17-shape27-atleast_1d] dask/array/tests/test_routines.py::test_roll[1-9-chunks0] dask/array/tests/test_routines.py::test_roll[0-shift4-chunks0] dask/array/tests/test_routines.py::test_diff[0-shape2-2] dask/array/tests/test_routines.py::test_apply_over_axes[shape4-axes4-sum1-<lambda>] dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast0-arr_downcast0-<lambda>] dask/array/tests/test_routines.py::test_stack_unknown_chunk_sizes[hstack-hstack-0] dask/array/tests/test_routines.py::test_einsum_casting[same_kind] dask/array/tests/test_routines.py::test_roll[-1-9-chunks1] dask/array/tests/test_routines.py::test_gradient[2-shape6-varargs6--1] dask/array/tests/test_routines.py::test_matmul[x_shape15-y_shape15-x_chunks15-y_chunks15] dask/array/tests/test_routines.py::test_flip[shape4-flipud-kwargs0] dask/array/tests/test_routines.py::test_diff[0-shape3--1] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape16-shape26-atleast_2d] dask/array/tests/test_routines.py::test_ediff1d[to_end2-to_begin2-shape1] dask/array/tests/test_array_function.py::test_array_function_dask[<lambda>10] dask/array/tests/test_routines.py::test_flip[shape0-flip-kwargs3] dask/array/tests/test_routines.py::test_matmul[x_shape5-y_shape5-x_chunks5-y_chunks5] dask/array/tests/test_routines.py::test_apply_along_axis[input_shape3--1-range-<lambda>-False] dask/array/tests/test_routines.py::test_gradient[1-shape3-varargs3-0] dask/array/tests/test_routines.py::test_roll[0-3-chunks0] dask/array/tests/test_routines.py::test_roll[0-shift4-chunks1] dask/array/tests/test_routines.py::test_histogram_delayed_range[True-1-True-True] dask/array/tests/test_routines.py::test_ravel_1D_no_op dask/array/tests/test_routines.py::test_ptp[shape3-2] dask/array/tests/test_routines.py::test_histogram_delayed_range[False-None-True-True] dask/array/tests/test_routines.py::test_roll[-1-7-chunks0] dask/array/tests/test_routines.py::test_array dask/array/tests/test_routines.py::test_roll[-1-9-chunks0] dask/array/tests/test_routines.py::test_einsum_order[F] dask/array/tests/test_routines.py::test_ptp[shape4--1] dask/array/tests/test_routines.py::test_histogram_bin_range_raises[10-1] dask/array/tests/test_routines.py::test_stack_unknown_chunk_sizes[dstack-dstack-1] dask/array/tests/test_routines.py::test_flip[shape2-flip-kwargs5] dask/array/tests/test_routines.py::test_tensordot_2[axes5] dask/array/tests/test_routines.py::test_coarsen_bad_chunks[chunks8] dask/array/tests/test_routines.py::test_gradient[2-shape9-varargs9-axis9] dask/array/tests/test_array_function.py::test_array_function_dask[<lambda>12] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape18-shape28-atleast_1d] dask/array/tests/test_routines.py::test_unique_rand[shape0-chunks0-0-10-796] dask/array/tests/test_routines.py::test_tensordot_double_contraction_neq2[chunks4] dask/array/tests/test_routines.py::test_flatnonzero dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape14-shape24-atleast_3d] dask/array/tests/test_routines.py::test_roll[-1-shift3-chunks0] dask/array/tests/test_routines.py::test_diff[0-shape0-0] dask/array/tests/test_routines.py::test_shape[shape0] dask/array/tests/test_routines.py::test_union1d[True-shape2] dask/array/tests/test_routines.py::test_roll[1-shift3-chunks0] dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast0-arr_downcast0-equal] dask/array/tests/test_routines.py::test_where dask/array/tests/test_routines.py::test_histogram_delayed_range[True-0-False-True] dask/array/tests/test_routines.py::test_flip[shape1-flip-kwargs2] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape19-shape29-atleast_3d] dask/array/tests/test_routines.py::test_result_type dask/array/tests/test_routines.py::test_squeeze[0-True] dask/array/tests/test_routines.py::test_flip[shape4-flip-kwargs3] dask/array/tests/test_routines.py::test_piecewise_otherwise dask/array/tests/test_routines.py::test_average_raises dask/array/tests/test_array_function.py::test_binary_function_type_precedence[arr_upcast0-arr_downcast0-matmul] dask/array/tests/test_routines.py::test_atleast_nd_two_args[shape13-shape23-atleast_1d] dask/array/tests/test_array_function.py::test_unregistered_func[<lambda>10] dask/array/tests/test_routines.py::test_roll[-1-shift4-chunks1] dask/array/tests/test_routines.py::test_ediff1d[to_end2-to_begin2-shape0] dask/array/tests/test_routines.py::test_atleast_nd_one_arg[shape2-chunks2-atleast_3d] dask/array/tests/test_routines.py::test_roll[1-7-chunks0] dask/array/tests/test_array_function.py::test_array_function_dask[<lambda>6] dask/array/tests/test_routines.py::test_histogram_delayed_range[True-1-False-True] dask/array/tests/test_routines.py::test_histogram_extra_args_and_shapes dask/array/tests/test_routines.py::test_apply_over_axes[shape0-axes0-sum0-<lambda>] dask/array/tests/test_routines.py::test_tensordot_double_contraction_neq2[chunks3] dask/array/tests/test_routines.py::test_roll[axis5-shift4-chunks0] dask/array/tests/test_routines.py::test_argwhere dask/array/tests/test_routines.py::test_gradient[1-shape9-varargs9-axis9] dask/array/tests/test_array_function.py::test_array_function_fft[fft] dask/array/tests/test_routines.py::test_swapaxes dask/array/tests/test_routines.py::test_flip[shape2-flip-kwargs2] dask/array/tests/test_routines.py::test_roll[None-shift3-chunks0] dask/array/tests/test_routines.py::test_roll[axis5-shift3-chunks1] dask/array/tests/test_routines.py::test_coarsen_with_excess