From 64f5304b59a95cd04cb424c7b845ba8d5831bc3f Mon Sep 17 00:00:00 2001 From: amalia-k510 Date: Mon, 23 Mar 2026 11:28:44 +0100 Subject: [PATCH 1/2] array-api initially implementation --- 03_23_2026.log | 3361 ++++++++++++++++++++ pyproject.toml | 20 +- src/fast_array_utils/conv/_to_dense.py | 7 + src/fast_array_utils/stats/_generic_ops.py | 9 +- src/fast_array_utils/stats/_is_constant.py | 17 +- src/fast_array_utils/stats/_power.py | 7 + tests/test_jax.py | 121 + 7 files changed, 3535 insertions(+), 7 deletions(-) create mode 100644 03_23_2026.log create mode 100644 tests/test_jax.py diff --git a/03_23_2026.log b/03_23_2026.log new file mode 100644 index 0000000..82944c1 --- /dev/null +++ b/03_23_2026.log @@ -0,0 +1,3361 @@ +============================= test session starts ============================== +platform darwin -- Python 3.13.9, pytest-9.0.2, pluggy-1.6.0 -- /Users/Amalia/fast-array-utils/fast/bin/python3.13 +codspeed: 4.3.0 (disabled, mode: walltime, callgraph: not supported, timer_resolution: 41.7ns) +cachedir: .pytest_cache +rootdir: /Users/Amalia/fast-array-utils +configfile: pyproject.toml +plugins: codspeed-4.3.0, fast-array-utils-0.1.dev118, xdist-3.8.0, doctestplus-1.7.1, zarr-3.1.5 +collecting ... collected 6045 items + +tests/test_jax.py::test_sum[None] PASSED [ 0%] +tests/test_jax.py::test_sum[0] PASSED [ 0%] +tests/test_jax.py::test_sum[1] PASSED [ 0%] +tests/test_jax.py::test_min[None] PASSED [ 0%] +tests/test_jax.py::test_min[0] PASSED [ 0%] +tests/test_jax.py::test_min[1] PASSED [ 0%] +tests/test_jax.py::test_max[None] PASSED [ 0%] +tests/test_jax.py::test_max[0] PASSED [ 0%] +tests/test_jax.py::test_max[1] PASSED [ 0%] +tests/test_jax.py::test_mean[None] PASSED [ 0%] +tests/test_jax.py::test_mean[0] PASSED [ 0%] +tests/test_jax.py::test_mean[1] PASSED [ 0%] +tests/test_jax.py::test_is_constant[None] PASSED [ 0%] +tests/test_jax.py::test_is_constant[0] PASSED [ 0%] +tests/test_jax.py::test_is_constant[1] PASSED [ 0%] +tests/test_jax.py::test_mean_var[None] PASSED [ 0%] +tests/test_jax.py::test_mean_var[0] PASSED [ 0%] +tests/test_jax.py::test_mean_var[1] PASSED [ 0%] +tests/test_jax.py::test_to_dense PASSED [ 0%] +tests/test_jax.py::test_to_dense_to_cpu PASSED [ 0%] +tests/test_sparse.py::test_to_dense[scipy.sparse.csr_array-float64-C] PASSED [ 0%] +tests/test_sparse.py::test_to_dense[scipy.sparse.csr_array-float64-F] PASSED [ 0%] +tests/test_sparse.py::test_to_dense_benchmark[scipy.sparse.csr_array-float64-C] PASSED [ 0%] +tests/test_sparse.py::test_to_dense_benchmark[scipy.sparse.csr_array-float64-F] PASSED [ 0%] +tests/test_sparse.py::test_to_dense[scipy.sparse.csr_array-float32-C] PASSED [ 0%] +tests/test_sparse.py::test_to_dense[scipy.sparse.csr_array-float32-F] PASSED [ 0%] +tests/test_sparse.py::test_to_dense_benchmark[scipy.sparse.csr_array-float32-C] PASSED [ 0%] +tests/test_sparse.py::test_to_dense_benchmark[scipy.sparse.csr_array-float32-F] PASSED [ 0%] +tests/test_numpy_scipy_sparse.py::test_ndim[scipy.sparse.csr_array] PASSED [ 0%] +tests/test_numpy_scipy_sparse.py::test_shape[scipy.sparse.csr_array] PASSED [ 0%] +tests/test_numpy_scipy_sparse.py::test_copy[scipy.sparse.csr_array-d=i64-i=32] PASSED [ 0%] +tests/test_numpy_scipy_sparse.py::test_copy[scipy.sparse.csr_array-d=i64-i=64] PASSED [ 0%] +tests/test_numpy_scipy_sparse.py::test_copy[scipy.sparse.csr_array-d=f64-i=32] PASSED [ 1%] +tests/test_numpy_scipy_sparse.py::test_copy[scipy.sparse.csr_array-d=f64-i=64] PASSED [ 1%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csr_array-1d-ax0-sum] PASSED [ 1%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csr_array-1d-ax0-min] PASSED [ 1%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csr_array-1d-ax0-max] PASSED [ 1%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csr_array-1d-ax0-mean] PASSED [ 1%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csr_array-1d-ax0-mean_var] PASSED [ 1%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csr_array-1d-ax0-is_constant] PASSED [ 1%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csr_array-2d-ax3-sum] PASSED [ 1%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csr_array-2d-ax3-min] PASSED [ 1%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csr_array-2d-ax3-max] PASSED [ 1%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csr_array-2d-ax3-mean] PASSED [ 1%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csr_array-2d-ax3-mean_var] PASSED [ 1%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csr_array-2d-ax3-is_constant] PASSED [ 1%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csr_array-2d-axneg-sum] PASSED [ 1%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csr_array-2d-axneg-min] PASSED [ 1%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csr_array-2d-axneg-max] PASSED [ 1%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csr_array-2d-axneg-mean] PASSED [ 1%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csr_array-2d-axneg-mean_var] PASSED [ 1%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csr_array-2d-axneg-is_constant] PASSED [ 1%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float32-1d-all-float32] PASSED [ 1%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float32-1d-all-float64] PASSED [ 1%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float32-1d-all-int32] PASSED [ 1%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float32-1d-all-bool] PASSED [ 1%] +tests/test_stats.py::test_sum[cupy.ndarray-float32-1d-all-float32] SKIPPED [ 1%] +tests/test_stats.py::test_sum[cupy.ndarray-float32-1d-all-float64] SKIPPED [ 1%] +tests/test_stats.py::test_sum[cupy.ndarray-float32-1d-all-int32] SKIPPED [ 1%] +tests/test_stats.py::test_sum[cupy.ndarray-float32-1d-all-bool] SKIPPED [ 1%] +tests/test_stats.py::test_sum[numpy.ndarray-float32-1d-all-float32] PASSED [ 1%] +tests/test_stats.py::test_sum[numpy.ndarray-float32-1d-all-float64] PASSED [ 1%] +tests/test_stats.py::test_sum[numpy.ndarray-float32-1d-all-int32] PASSED [ 1%] +tests/test_stats.py::test_sum[numpy.ndarray-float32-1d-all-bool] PASSED [ 1%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float32-1d-all-float32] SKIPPED [ 1%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float32-1d-all-float64] SKIPPED [ 2%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float32-1d-all-int32] SKIPPED [ 2%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float32-1d-all-bool] SKIPPED [ 2%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float32-2d-all-float32] PASSED [ 2%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float32-2d-all-float64] PASSED [ 2%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float32-2d-all-int32] PASSED [ 2%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float32-2d-all-bool] PASSED [ 2%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float64-2d-all-float32] PASSED [ 2%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float64-2d-all-float64] PASSED [ 2%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float64-2d-all-int32] PASSED [ 2%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float64-2d-all-bool] PASSED [ 2%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float64-2d-all-float32] PASSED [ 2%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float64-2d-all-float64] PASSED [ 2%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float64-2d-all-int32] PASSED [ 2%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float64-2d-all-bool] PASSED [ 2%] +tests/test_stats.py::test_sum[cupy.ndarray-float64-2d-all-float32] SKIPPED [ 2%] +tests/test_stats.py::test_sum[cupy.ndarray-float64-2d-all-float64] SKIPPED [ 2%] +tests/test_stats.py::test_sum[cupy.ndarray-float64-2d-all-int32] SKIPPED [ 2%] +tests/test_stats.py::test_sum[cupy.ndarray-float64-2d-all-bool] SKIPPED [ 2%] +tests/test_stats.py::test_sum[numpy.ndarray-float64-2d-all-float32] PASSED [ 2%] +tests/test_stats.py::test_sum[numpy.ndarray-float64-2d-all-float64] PASSED [ 2%] +tests/test_stats.py::test_sum[numpy.ndarray-float64-2d-all-int32] PASSED [ 2%] +tests/test_stats.py::test_sum[numpy.ndarray-float64-2d-all-bool] PASSED [ 2%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float64-2d-all-float32] PASSED [ 2%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float64-2d-all-float64] PASSED [ 2%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float64-2d-all-int32] PASSED [ 2%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float64-2d-all-bool] PASSED [ 2%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float64-1d-all-float32] SKIPPED [ 2%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float64-1d-all-float64] SKIPPED [ 2%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float64-1d-all-int32] SKIPPED [ 2%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float64-1d-all-bool] SKIPPED [ 2%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float64-2d-ax0-float32] PASSED [ 2%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float64-2d-ax0-float64] PASSED [ 2%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float64-2d-ax0-int32] PASSED [ 3%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float64-2d-ax0-bool] PASSED [ 3%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float32-2d-ax0-float32] PASSED [ 3%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float32-2d-ax0-float64] PASSED [ 3%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float32-2d-ax0-int32] PASSED [ 3%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float32-2d-ax0-bool] PASSED [ 3%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-int64-2d-ax0-float32] PASSED [ 3%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-int64-2d-ax0-float64] PASSED [ 3%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-int64-2d-ax0-int32] PASSED [ 3%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-int64-2d-ax0-bool] PASSED [ 3%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-int64-2d-ax0-float32] PASSED [ 3%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-int64-2d-ax0-float64] PASSED [ 3%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-int64-2d-ax0-int32] PASSED [ 3%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-int64-2d-ax0-bool] PASSED [ 3%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-int64-2d-ax0-float32] PASSED [ 3%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-int64-2d-ax0-float64] PASSED [ 3%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-int64-2d-ax0-int32] PASSED [ 3%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-int64-2d-ax0-bool] PASSED [ 3%] +tests/test_stats.py::test_sum[cupy.ndarray-int64-2d-ax0-float32] SKIPPED [ 3%] +tests/test_stats.py::test_sum[cupy.ndarray-int64-2d-ax0-float64] SKIPPED [ 3%] +tests/test_stats.py::test_sum[cupy.ndarray-int64-2d-ax0-int32] SKIPPED [ 3%] +tests/test_stats.py::test_sum[cupy.ndarray-int64-2d-ax0-bool] SKIPPED [ 3%] +tests/test_stats.py::test_sum[numpy.ndarray-int64-2d-ax0-float32] PASSED [ 3%] +tests/test_stats.py::test_sum[numpy.ndarray-int64-2d-ax0-float64] PASSED [ 3%] +tests/test_stats.py::test_sum[numpy.ndarray-int64-2d-ax0-int32] PASSED [ 3%] +tests/test_stats.py::test_sum[numpy.ndarray-int64-2d-ax0-bool] PASSED [ 3%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-int64-2d-ax0-float32] SKIPPED [ 3%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-int64-2d-ax0-float64] SKIPPED [ 3%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-int64-2d-ax0-int32] SKIPPED [ 3%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-int64-2d-ax0-bool] SKIPPED [ 3%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-int64-2d-all-float32] SKIPPED [ 3%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-int64-2d-all-float64] SKIPPED [ 3%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-int64-2d-all-int32] SKIPPED [ 3%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-int64-2d-all-bool] SKIPPED [ 4%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-int64-1d-all-float32] SKIPPED [ 4%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-int64-1d-all-float64] SKIPPED [ 4%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-int64-1d-all-int32] SKIPPED [ 4%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-int64-1d-all-bool] SKIPPED [ 4%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-int64-2d-ax1-float32] SKIPPED [ 4%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-int64-2d-ax1-float64] SKIPPED [ 4%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-int64-2d-ax1-int32] SKIPPED [ 4%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-int64-2d-ax1-bool] SKIPPED [ 4%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float64-2d-ax1-float32] SKIPPED [ 4%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float64-2d-ax1-float64] SKIPPED [ 4%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float64-2d-ax1-int32] SKIPPED [ 4%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float64-2d-ax1-bool] SKIPPED [ 4%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float32-2d-ax1-float32] SKIPPED [ 4%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float32-2d-ax1-float64] SKIPPED [ 4%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float32-2d-ax1-int32] SKIPPED [ 4%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float32-2d-ax1-bool] SKIPPED [ 4%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-None-2d-ax1-float32] SKIPPED [ 4%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-None-2d-ax1-float64] SKIPPED [ 4%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-None-2d-ax1-int32] SKIPPED [ 4%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-None-2d-ax1-bool] SKIPPED [ 4%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-None-2d-ax1-float32] PASSED [ 4%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-None-2d-ax1-float64] PASSED [ 4%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-None-2d-ax1-int32] PASSED [ 4%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-None-2d-ax1-bool] PASSED [ 4%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-None-2d-ax1-float32] PASSED [ 4%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-None-2d-ax1-float64] PASSED [ 4%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-None-2d-ax1-int32] PASSED [ 4%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-None-2d-ax1-bool] PASSED [ 4%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-None-2d-ax1-float32] PASSED [ 4%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-None-2d-ax1-float64] PASSED [ 4%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-None-2d-ax1-int32] PASSED [ 4%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-None-2d-ax1-bool] PASSED [ 4%] +tests/test_stats.py::test_sum[cupy.ndarray-None-2d-ax1-float32] SKIPPED [ 5%] +tests/test_stats.py::test_sum[cupy.ndarray-None-2d-ax1-float64] SKIPPED [ 5%] +tests/test_stats.py::test_sum[cupy.ndarray-None-2d-ax1-int32] SKIPPED [ 5%] +tests/test_stats.py::test_sum[cupy.ndarray-None-2d-ax1-bool] SKIPPED [ 5%] +tests/test_stats.py::test_sum[numpy.ndarray-None-2d-ax1-float32] PASSED [ 5%] +tests/test_stats.py::test_sum[numpy.ndarray-None-2d-ax1-float64] PASSED [ 5%] +tests/test_stats.py::test_sum[numpy.ndarray-None-2d-ax1-int32] PASSED [ 5%] +tests/test_stats.py::test_sum[numpy.ndarray-None-2d-ax1-bool] PASSED [ 5%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-None-2d-ax1-float32] PASSED [ 5%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-None-2d-ax1-float64] PASSED [ 5%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-None-2d-ax1-int32] PASSED [ 5%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-None-2d-ax1-bool] PASSED [ 5%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-None-2d-ax0-float32] PASSED [ 5%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-None-2d-ax0-float64] PASSED [ 5%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-None-2d-ax0-int32] PASSED [ 5%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-None-2d-ax0-bool] PASSED [ 5%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-None-2d-all-float32] PASSED [ 5%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-None-2d-all-float64] PASSED [ 5%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-None-2d-all-int32] PASSED [ 5%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-None-2d-all-bool] PASSED [ 5%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-None-1d-all-float32] SKIPPED [ 5%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-None-1d-all-float64] SKIPPED [ 5%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-None-1d-all-int32] SKIPPED [ 5%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-None-1d-all-bool] SKIPPED [ 5%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-int64-2d-ax1-float32] PASSED [ 5%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-int64-2d-ax1-float64] PASSED [ 5%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-int64-2d-ax1-int32] PASSED [ 5%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-int64-2d-ax1-bool] PASSED [ 5%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float64-2d-ax1-float32] PASSED [ 5%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float64-2d-ax1-float64] PASSED [ 5%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float64-2d-ax1-int32] PASSED [ 5%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float64-2d-ax1-bool] PASSED [ 5%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float32-2d-ax1-float32] PASSED [ 5%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float32-2d-ax1-float64] PASSED [ 6%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float32-2d-ax1-int32] PASSED [ 6%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float32-2d-ax1-bool] PASSED [ 6%] +tests/test_stats.py::test_sum_to_int[scipy.sparse.csc_matrix-2d-ax1] PASSED [ 6%] +tests/test_stats.py::test_min_max[scipy.sparse.csc_matrix-2d-ax1-min] PASSED [ 6%] +tests/test_stats.py::test_min_max[scipy.sparse.csc_matrix-2d-ax1-max] PASSED [ 6%] +tests/test_stats.py::test_mean[scipy.sparse.csc_matrix-2d-ax1-float32] PASSED [ 6%] +tests/test_stats.py::test_mean[scipy.sparse.csc_matrix-2d-ax1-float64] PASSED [ 6%] +tests/test_stats.py::test_mean[scipy.sparse.csc_matrix-2d-ax1-int32] PASSED [ 6%] +tests/test_stats.py::test_mean[scipy.sparse.csc_matrix-2d-ax1-bool] PASSED [ 6%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_matrix-2d-ax1-float32] PASSED [ 6%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_matrix-2d-ax1-float64] PASSED [ 6%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_matrix-2d-ax1-int32] PASSED [ 6%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_matrix-2d-ax1-bool] PASSED [ 6%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-int64-2d-ax0-float32] PASSED [ 6%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-int64-2d-ax0-float64] PASSED [ 6%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-int64-2d-ax0-int32] PASSED [ 6%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-int64-2d-ax0-bool] PASSED [ 6%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-int64-2d-all-float32] PASSED [ 6%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-int64-2d-all-float64] PASSED [ 6%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-int64-2d-all-int32] PASSED [ 6%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-int64-2d-all-bool] PASSED [ 6%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-int64-1d-all-float32] SKIPPED [ 6%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-int64-1d-all-float64] SKIPPED [ 6%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-int64-1d-all-int32] SKIPPED [ 6%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-int64-1d-all-bool] SKIPPED [ 6%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float64-2d-ax0-float32] PASSED [ 6%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float64-2d-ax0-float64] PASSED [ 6%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float64-2d-ax0-int32] PASSED [ 6%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float64-2d-ax0-bool] PASSED [ 6%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float32-2d-ax0-float32] PASSED [ 6%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float32-2d-ax0-float64] PASSED [ 6%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float32-2d-ax0-int32] PASSED [ 6%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float32-2d-ax0-bool] PASSED [ 7%] +tests/test_stats.py::test_sum_to_int[scipy.sparse.csc_matrix-2d-ax0] PASSED [ 7%] +tests/test_stats.py::test_min_max[scipy.sparse.csc_matrix-2d-ax0-min] PASSED [ 7%] +tests/test_stats.py::test_min_max[scipy.sparse.csc_matrix-2d-ax0-max] PASSED [ 7%] +tests/test_stats.py::test_mean[scipy.sparse.csc_matrix-2d-ax0-float32] PASSED [ 7%] +tests/test_stats.py::test_mean[scipy.sparse.csc_matrix-2d-ax0-float64] PASSED [ 7%] +tests/test_stats.py::test_mean[scipy.sparse.csc_matrix-2d-ax0-int32] PASSED [ 7%] +tests/test_stats.py::test_mean[scipy.sparse.csc_matrix-2d-ax0-bool] PASSED [ 7%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_matrix-2d-ax0-float32] PASSED [ 7%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_matrix-2d-ax0-float64] PASSED [ 7%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_matrix-2d-ax0-int32] PASSED [ 7%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_matrix-2d-ax0-bool] PASSED [ 7%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float64-2d-all-float32] PASSED [ 7%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float64-2d-all-float64] PASSED [ 7%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float64-2d-all-int32] PASSED [ 7%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float64-2d-all-bool] PASSED [ 7%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float64-1d-all-float32] SKIPPED [ 7%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float64-1d-all-float64] SKIPPED [ 7%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float64-1d-all-int32] SKIPPED [ 7%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float64-1d-all-bool] SKIPPED [ 7%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float32-2d-all-float32] PASSED [ 7%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float32-2d-all-float64] PASSED [ 7%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float32-2d-all-int32] PASSED [ 7%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float32-2d-all-bool] PASSED [ 7%] +tests/test_stats.py::test_sum_to_int[scipy.sparse.csc_matrix-2d-all] PASSED [ 7%] +tests/test_stats.py::test_min_max[scipy.sparse.csc_matrix-2d-all-min] PASSED [ 7%] +tests/test_stats.py::test_min_max[scipy.sparse.csc_matrix-2d-all-max] PASSED [ 7%] +tests/test_stats.py::test_mean[scipy.sparse.csc_matrix-2d-all-float32] PASSED [ 7%] +tests/test_stats.py::test_mean[scipy.sparse.csc_matrix-2d-all-float64] PASSED [ 7%] +tests/test_stats.py::test_mean[scipy.sparse.csc_matrix-2d-all-int32] PASSED [ 7%] +tests/test_stats.py::test_mean[scipy.sparse.csc_matrix-2d-all-bool] PASSED [ 7%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_matrix-2d-all-float32] PASSED [ 7%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_matrix-2d-all-float64] PASSED [ 7%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_matrix-2d-all-int32] PASSED [ 8%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_matrix-2d-all-bool] PASSED [ 8%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float32-1d-all-float32] SKIPPED [ 8%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float32-1d-all-float64] SKIPPED [ 8%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float32-1d-all-int32] SKIPPED [ 8%] +tests/test_stats.py::test_sum[scipy.sparse.csc_matrix-float32-1d-all-bool] SKIPPED [ 8%] +tests/test_stats.py::test_sum_to_int[scipy.sparse.csc_matrix-1d-all] PASSED [ 8%] +tests/test_stats.py::test_min_max[scipy.sparse.csc_matrix-1d-all-min] PASSED [ 8%] +tests/test_stats.py::test_min_max[scipy.sparse.csc_matrix-1d-all-max] PASSED [ 8%] +tests/test_stats.py::test_mean[scipy.sparse.csc_matrix-1d-all-float32] SKIPPED [ 8%] +tests/test_stats.py::test_mean[scipy.sparse.csc_matrix-1d-all-float64] SKIPPED [ 8%] +tests/test_stats.py::test_mean[scipy.sparse.csc_matrix-1d-all-int32] SKIPPED [ 8%] +tests/test_stats.py::test_mean[scipy.sparse.csc_matrix-1d-all-bool] SKIPPED [ 8%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_matrix-1d-all-float32] SKIPPED [ 8%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_matrix-1d-all-float64] SKIPPED [ 8%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_matrix-1d-all-int32] SKIPPED [ 8%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_matrix-1d-all-bool] SKIPPED [ 8%] +tests/test_sparse.py::test_to_dense[scipy.sparse.csc_matrix-float64-C] PASSED [ 8%] +tests/test_sparse.py::test_to_dense[scipy.sparse.csc_matrix-float64-F] PASSED [ 8%] +tests/test_sparse.py::test_to_dense_benchmark[scipy.sparse.csc_matrix-float64-C] PASSED [ 8%] +tests/test_sparse.py::test_to_dense_benchmark[scipy.sparse.csc_matrix-float64-F] PASSED [ 8%] +tests/test_sparse.py::test_to_dense[scipy.sparse.csc_matrix-float32-C] PASSED [ 8%] +tests/test_sparse.py::test_to_dense[scipy.sparse.csc_matrix-float32-F] PASSED [ 8%] +tests/test_sparse.py::test_to_dense_benchmark[scipy.sparse.csc_matrix-float32-C] PASSED [ 8%] +tests/test_sparse.py::test_to_dense_benchmark[scipy.sparse.csc_matrix-float32-F] PASSED [ 8%] +tests/test_numpy_scipy_sparse.py::test_ndim[scipy.sparse.csc_matrix] PASSED [ 8%] +tests/test_numpy_scipy_sparse.py::test_shape[scipy.sparse.csc_matrix] PASSED [ 8%] +tests/test_numpy_scipy_sparse.py::test_copy[scipy.sparse.csc_matrix-d=i64-i=32] PASSED [ 8%] +tests/test_numpy_scipy_sparse.py::test_copy[scipy.sparse.csc_matrix-d=i64-i=64] PASSED [ 8%] +tests/test_numpy_scipy_sparse.py::test_copy[scipy.sparse.csc_matrix-d=f64-i=32] PASSED [ 8%] +tests/test_numpy_scipy_sparse.py::test_copy[scipy.sparse.csc_matrix-d=f64-i=64] PASSED [ 8%] +tests/test_stats.py::test_is_constant[scipy.sparse.csc_matrix-None] PASSED [ 8%] +tests/test_stats.py::test_is_constant[scipy.sparse.csc_matrix-0] PASSED [ 8%] +tests/test_stats.py::test_is_constant[scipy.sparse.csc_matrix-1] PASSED [ 9%] +tests/test_test_utils.py::test_conv[scipy.sparse.csc_matrix-float32] PASSED [ 9%] +tests/test_test_utils.py::test_conv[scipy.sparse.csc_matrix-float64] PASSED [ 9%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_matrix-numpy.ndarray] PASSED [ 9%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csr_matrix-numpy.ndarray] SKIPPED [ 9%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_matrix-numpy.ndarray] PASSED [ 9%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_array-numpy.ndarray] PASSED [ 9%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_array-numpy.ndarray] PASSED [ 9%] +tests/test_test_utils.py::test_conv_other[cupy.ndarray-numpy.ndarray] SKIPPED [ 9%] +tests/test_test_utils.py::test_conv_other[numpy.ndarray-numpy.ndarray] PASSED [ 9%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csc_matrix-numpy.ndarray] SKIPPED [ 9%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-None-2d-ax1-float32] SKIPPED [ 9%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-None-2d-ax1-float64] SKIPPED [ 9%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-None-2d-ax1-int32] SKIPPED [ 9%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-None-2d-ax1-bool] SKIPPED [ 9%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-None-2d-ax0-float32] SKIPPED [ 9%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-None-2d-ax0-float64] SKIPPED [ 9%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-None-2d-ax0-int32] SKIPPED [ 9%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-None-2d-ax0-bool] SKIPPED [ 9%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-None-2d-all-float32] SKIPPED [ 9%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-None-2d-all-float64] SKIPPED [ 9%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-None-2d-all-int32] SKIPPED [ 9%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-None-2d-all-bool] SKIPPED [ 9%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-None-1d-all-float32] SKIPPED [ 9%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-None-1d-all-float64] SKIPPED [ 9%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-None-1d-all-int32] SKIPPED [ 9%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-None-1d-all-bool] SKIPPED [ 9%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-int64-2d-ax1-float32] SKIPPED [ 9%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-int64-2d-ax1-float64] SKIPPED [ 9%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-int64-2d-ax1-int32] SKIPPED [ 9%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-int64-2d-ax1-bool] SKIPPED [ 9%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float64-2d-ax1-float32] SKIPPED [ 9%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float64-2d-ax1-float64] SKIPPED [ 9%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float64-2d-ax1-int32] SKIPPED [ 10%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float64-2d-ax1-bool] SKIPPED [ 10%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float32-2d-ax1-float32] SKIPPED [ 10%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float32-2d-ax1-float64] SKIPPED [ 10%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float32-2d-ax1-int32] SKIPPED [ 10%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float32-2d-ax1-bool] SKIPPED [ 10%] +tests/test_stats.py::test_min_max[cupyx.scipy.sparse.csc_matrix-2d-ax1-min] SKIPPED [ 10%] +tests/test_stats.py::test_min_max[cupyx.scipy.sparse.csc_matrix-2d-ax1-max] SKIPPED [ 10%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csc_matrix-2d-ax1-float32] SKIPPED [ 10%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csc_matrix-2d-ax1-float64] SKIPPED [ 10%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csc_matrix-2d-ax1-int32] SKIPPED [ 10%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csc_matrix-2d-ax1-bool] SKIPPED [ 10%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csc_matrix-2d-ax1-float32] SKIPPED [ 10%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csc_matrix-2d-ax1-float64] SKIPPED [ 10%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csc_matrix-2d-ax1-int32] SKIPPED [ 10%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csc_matrix-2d-ax1-bool] SKIPPED [ 10%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-int64-2d-ax0-float32] SKIPPED [ 10%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-int64-2d-ax0-float64] SKIPPED [ 10%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-int64-2d-ax0-int32] SKIPPED [ 10%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-int64-2d-ax0-bool] SKIPPED [ 10%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-int64-2d-all-float32] SKIPPED [ 10%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-int64-2d-all-float64] SKIPPED [ 10%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-int64-2d-all-int32] SKIPPED [ 10%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-int64-2d-all-bool] SKIPPED [ 10%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-int64-1d-all-float32] SKIPPED [ 10%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-int64-1d-all-float64] SKIPPED [ 10%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-int64-1d-all-int32] SKIPPED [ 10%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-int64-1d-all-bool] SKIPPED [ 10%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float64-2d-ax0-float32] SKIPPED [ 10%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float64-2d-ax0-float64] SKIPPED [ 10%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float64-2d-ax0-int32] SKIPPED [ 10%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float64-2d-ax0-bool] SKIPPED [ 10%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float32-2d-ax0-float32] SKIPPED [ 10%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float32-2d-ax0-float64] SKIPPED [ 11%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float32-2d-ax0-int32] SKIPPED [ 11%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float32-2d-ax0-bool] SKIPPED [ 11%] +tests/test_stats.py::test_min_max[cupyx.scipy.sparse.csc_matrix-2d-ax0-min] SKIPPED [ 11%] +tests/test_stats.py::test_min_max[cupyx.scipy.sparse.csc_matrix-2d-ax0-max] SKIPPED [ 11%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csc_matrix-2d-ax0-float32] SKIPPED [ 11%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csc_matrix-2d-ax0-float64] SKIPPED [ 11%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csc_matrix-2d-ax0-int32] SKIPPED [ 11%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csc_matrix-2d-ax0-bool] SKIPPED [ 11%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csc_matrix-2d-ax0-float32] SKIPPED [ 11%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csc_matrix-2d-ax0-float64] SKIPPED [ 11%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csc_matrix-2d-ax0-int32] SKIPPED [ 11%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csc_matrix-2d-ax0-bool] SKIPPED [ 11%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float64-2d-all-float32] SKIPPED [ 11%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float64-2d-all-float64] SKIPPED [ 11%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float64-2d-all-int32] SKIPPED [ 11%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float64-2d-all-bool] SKIPPED [ 11%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float64-1d-all-float32] SKIPPED [ 11%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float64-1d-all-float64] SKIPPED [ 11%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float64-1d-all-int32] SKIPPED [ 11%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float64-1d-all-bool] SKIPPED [ 11%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float32-2d-all-float32] SKIPPED [ 11%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float32-2d-all-float64] SKIPPED [ 11%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float32-2d-all-int32] SKIPPED [ 11%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float32-2d-all-bool] SKIPPED [ 11%] +tests/test_stats.py::test_min_max[cupyx.scipy.sparse.csc_matrix-2d-all-min] SKIPPED [ 11%] +tests/test_stats.py::test_min_max[cupyx.scipy.sparse.csc_matrix-2d-all-max] SKIPPED [ 11%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csc_matrix-2d-all-float32] SKIPPED [ 11%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csc_matrix-2d-all-float64] SKIPPED [ 11%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csc_matrix-2d-all-int32] SKIPPED [ 11%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csc_matrix-2d-all-bool] SKIPPED [ 11%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csc_matrix-2d-all-float32] SKIPPED [ 11%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csc_matrix-2d-all-float64] SKIPPED [ 11%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csc_matrix-2d-all-int32] SKIPPED [ 12%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csc_matrix-2d-all-bool] SKIPPED [ 12%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float32-1d-all-float32] SKIPPED [ 12%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float32-1d-all-float64] SKIPPED [ 12%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float32-1d-all-int32] SKIPPED [ 12%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csc_matrix-float32-1d-all-bool] SKIPPED [ 12%] +tests/test_stats.py::test_min_max[cupyx.scipy.sparse.csc_matrix-1d-all-min] SKIPPED [ 12%] +tests/test_stats.py::test_min_max[cupyx.scipy.sparse.csc_matrix-1d-all-max] SKIPPED [ 12%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csc_matrix-1d-all-float32] SKIPPED [ 12%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csc_matrix-1d-all-float64] SKIPPED [ 12%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csc_matrix-1d-all-int32] SKIPPED [ 12%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csc_matrix-1d-all-bool] SKIPPED [ 12%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csc_matrix-1d-all-float32] SKIPPED [ 12%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csc_matrix-1d-all-float64] SKIPPED [ 12%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csc_matrix-1d-all-int32] SKIPPED [ 12%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csc_matrix-1d-all-bool] SKIPPED [ 12%] +tests/test_test_utils.py::test_conv[cupyx.scipy.sparse.csc_matrix-float32] SKIPPED [ 12%] +tests/test_test_utils.py::test_conv[cupyx.scipy.sparse.csc_matrix-float64] SKIPPED [ 12%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csc_matrix-cupy.ndarray] SKIPPED [ 12%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_matrix-cupy.ndarray] SKIPPED [ 12%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csr_matrix-cupy.ndarray] SKIPPED [ 12%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_matrix-cupy.ndarray] SKIPPED [ 12%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_array-cupy.ndarray] SKIPPED [ 12%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_array-cupy.ndarray] SKIPPED [ 12%] +tests/test_test_utils.py::test_conv_other[cupy.ndarray-cupy.ndarray] SKIPPED [ 12%] +tests/test_test_utils.py::test_conv_other[numpy.ndarray-cupy.ndarray] SKIPPED [ 12%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[numpy.ndarray]-cupy.ndarray] SKIPPED [ 12%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[numpy.ndarray]-numpy.ndarray] PASSED [ 12%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-None-2d-ax1-float32] PASSED [ 12%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-None-2d-ax1-float64] PASSED [ 12%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-None-2d-ax1-int32] PASSED [ 12%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-None-2d-ax1-bool] PASSED [ 12%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-None-2d-ax0-float32] PASSED [ 12%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-None-2d-ax0-float64] PASSED [ 13%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-None-2d-ax0-int32] PASSED [ 13%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-None-2d-ax0-bool] PASSED [ 13%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-None-2d-all-float32] PASSED [ 13%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-None-2d-all-float64] PASSED [ 13%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-None-2d-all-int32] PASSED [ 13%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-None-2d-all-bool] PASSED [ 13%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-None-1d-all-float32] PASSED [ 13%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-None-1d-all-float64] PASSED [ 13%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-None-1d-all-int32] PASSED [ 13%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-None-1d-all-bool] PASSED [ 13%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-int64-2d-ax1-float32] PASSED [ 13%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-int64-2d-ax1-float64] PASSED [ 13%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-int64-2d-ax1-int32] PASSED [ 13%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-int64-2d-ax1-bool] PASSED [ 13%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float64-2d-ax1-float32] PASSED [ 13%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float64-2d-ax1-float64] PASSED [ 13%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float64-2d-ax1-int32] PASSED [ 13%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float64-2d-ax1-bool] PASSED [ 13%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float32-2d-ax1-float32] PASSED [ 13%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float32-2d-ax1-float64] PASSED [ 13%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float32-2d-ax1-int32] PASSED [ 13%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float32-2d-ax1-bool] PASSED [ 13%] +tests/test_stats.py::test_sum_to_int[dask.array.Array[numpy.ndarray]-2d-ax1] PASSED [ 13%] +tests/test_stats.py::test_min_max[dask.array.Array[numpy.ndarray]-2d-ax1-min] PASSED [ 13%] +tests/test_stats.py::test_min_max[dask.array.Array[numpy.ndarray]-2d-ax1-max] PASSED [ 13%] +tests/test_stats.py::test_mean[dask.array.Array[numpy.ndarray]-2d-ax1-float32] PASSED [ 13%] +tests/test_stats.py::test_mean[dask.array.Array[numpy.ndarray]-2d-ax1-float64] PASSED [ 13%] +tests/test_stats.py::test_mean[dask.array.Array[numpy.ndarray]-2d-ax1-int32] PASSED [ 13%] +tests/test_stats.py::test_mean[dask.array.Array[numpy.ndarray]-2d-ax1-bool] PASSED [ 13%] +tests/test_stats.py::test_mean_var[dask.array.Array[numpy.ndarray]-2d-ax1-float32] PASSED [ 13%] +tests/test_stats.py::test_mean_var[dask.array.Array[numpy.ndarray]-2d-ax1-float64] PASSED [ 13%] +tests/test_stats.py::test_mean_var[dask.array.Array[numpy.ndarray]-2d-ax1-int32] PASSED [ 13%] +tests/test_stats.py::test_mean_var[dask.array.Array[numpy.ndarray]-2d-ax1-bool] PASSED [ 14%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-int64-2d-ax0-float32] PASSED [ 14%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-int64-2d-ax0-float64] PASSED [ 14%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-int64-2d-ax0-int32] PASSED [ 14%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-int64-2d-ax0-bool] PASSED [ 14%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-int64-2d-all-float32] PASSED [ 14%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-int64-2d-all-float64] PASSED [ 14%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-int64-2d-all-int32] PASSED [ 14%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-int64-2d-all-bool] PASSED [ 14%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-int64-1d-all-float32] PASSED [ 14%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-int64-1d-all-float64] PASSED [ 14%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-int64-1d-all-int32] PASSED [ 14%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-int64-1d-all-bool] PASSED [ 14%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float64-2d-ax0-float32] PASSED [ 14%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float64-2d-ax0-float64] PASSED [ 14%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float64-2d-ax0-int32] PASSED [ 14%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float64-2d-ax0-bool] PASSED [ 14%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float32-2d-ax0-float32] PASSED [ 14%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float32-2d-ax0-float64] PASSED [ 14%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float32-2d-ax0-int32] PASSED [ 14%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float32-2d-ax0-bool] PASSED [ 14%] +tests/test_stats.py::test_sum_to_int[dask.array.Array[numpy.ndarray]-2d-ax0] PASSED [ 14%] +tests/test_stats.py::test_min_max[dask.array.Array[numpy.ndarray]-2d-ax0-min] PASSED [ 14%] +tests/test_stats.py::test_min_max[dask.array.Array[numpy.ndarray]-2d-ax0-max] PASSED [ 14%] +tests/test_stats.py::test_mean[dask.array.Array[numpy.ndarray]-2d-ax0-float32] PASSED [ 14%] +tests/test_stats.py::test_mean[dask.array.Array[numpy.ndarray]-2d-ax0-float64] PASSED [ 14%] +tests/test_stats.py::test_mean[dask.array.Array[numpy.ndarray]-2d-ax0-int32] PASSED [ 14%] +tests/test_stats.py::test_mean[dask.array.Array[numpy.ndarray]-2d-ax0-bool] PASSED [ 14%] +tests/test_stats.py::test_mean_var[dask.array.Array[numpy.ndarray]-2d-ax0-float32] PASSED [ 14%] +tests/test_stats.py::test_mean_var[dask.array.Array[numpy.ndarray]-2d-ax0-float64] PASSED [ 14%] +tests/test_stats.py::test_mean_var[dask.array.Array[numpy.ndarray]-2d-ax0-int32] PASSED [ 14%] +tests/test_stats.py::test_mean_var[dask.array.Array[numpy.ndarray]-2d-ax0-bool] PASSED [ 14%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float64-2d-all-float32] PASSED [ 14%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float64-2d-all-float64] PASSED [ 15%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float64-2d-all-int32] PASSED [ 15%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float64-2d-all-bool] PASSED [ 15%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float64-1d-all-float32] PASSED [ 15%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float64-1d-all-float64] PASSED [ 15%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float64-1d-all-int32] PASSED [ 15%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float64-1d-all-bool] PASSED [ 15%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float32-2d-all-float32] PASSED [ 15%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float32-2d-all-float64] PASSED [ 15%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float32-2d-all-int32] PASSED [ 15%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float32-2d-all-bool] PASSED [ 15%] +tests/test_stats.py::test_sum_to_int[dask.array.Array[numpy.ndarray]-2d-all] PASSED [ 15%] +tests/test_stats.py::test_min_max[dask.array.Array[numpy.ndarray]-2d-all-min] PASSED [ 15%] +tests/test_stats.py::test_min_max[dask.array.Array[numpy.ndarray]-2d-all-max] PASSED [ 15%] +tests/test_stats.py::test_mean[dask.array.Array[numpy.ndarray]-2d-all-float32] PASSED [ 15%] +tests/test_stats.py::test_mean[dask.array.Array[numpy.ndarray]-2d-all-float64] PASSED [ 15%] +tests/test_stats.py::test_mean[dask.array.Array[numpy.ndarray]-2d-all-int32] PASSED [ 15%] +tests/test_stats.py::test_mean[dask.array.Array[numpy.ndarray]-2d-all-bool] PASSED [ 15%] +tests/test_stats.py::test_mean_var[dask.array.Array[numpy.ndarray]-2d-all-float32] PASSED [ 15%] +tests/test_stats.py::test_mean_var[dask.array.Array[numpy.ndarray]-2d-all-float64] PASSED [ 15%] +tests/test_stats.py::test_mean_var[dask.array.Array[numpy.ndarray]-2d-all-int32] PASSED [ 15%] +tests/test_stats.py::test_mean_var[dask.array.Array[numpy.ndarray]-2d-all-bool] PASSED [ 15%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float32-1d-all-float32] PASSED [ 15%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float32-1d-all-float64] PASSED [ 15%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float32-1d-all-int32] PASSED [ 15%] +tests/test_stats.py::test_sum[dask.array.Array[numpy.ndarray]-float32-1d-all-bool] PASSED [ 15%] +tests/test_stats.py::test_sum_to_int[dask.array.Array[numpy.ndarray]-1d-all] PASSED [ 15%] +tests/test_stats.py::test_min_max[dask.array.Array[numpy.ndarray]-1d-all-min] PASSED [ 15%] +tests/test_stats.py::test_min_max[dask.array.Array[numpy.ndarray]-1d-all-max] PASSED [ 15%] +tests/test_stats.py::test_mean[dask.array.Array[numpy.ndarray]-1d-all-float32] PASSED [ 15%] +tests/test_stats.py::test_mean[dask.array.Array[numpy.ndarray]-1d-all-float64] PASSED [ 15%] +tests/test_stats.py::test_mean[dask.array.Array[numpy.ndarray]-1d-all-int32] PASSED [ 15%] +tests/test_stats.py::test_mean[dask.array.Array[numpy.ndarray]-1d-all-bool] PASSED [ 15%] +tests/test_stats.py::test_mean_var[dask.array.Array[numpy.ndarray]-1d-all-float32] PASSED [ 16%] +tests/test_stats.py::test_mean_var[dask.array.Array[numpy.ndarray]-1d-all-float64] PASSED [ 16%] +tests/test_stats.py::test_mean_var[dask.array.Array[numpy.ndarray]-1d-all-int32] PASSED [ 16%] +tests/test_stats.py::test_mean_var[dask.array.Array[numpy.ndarray]-1d-all-bool] PASSED [ 16%] +tests/test_stats.py::test_ndim_error[dask.array.Array[numpy.ndarray]-1d-ax0-sum] PASSED [ 16%] +tests/test_stats.py::test_ndim_error[dask.array.Array[numpy.ndarray]-1d-ax0-min] PASSED [ 16%] +tests/test_stats.py::test_ndim_error[dask.array.Array[numpy.ndarray]-1d-ax0-max] PASSED [ 16%] +tests/test_stats.py::test_ndim_error[dask.array.Array[numpy.ndarray]-1d-ax0-mean] PASSED [ 16%] +tests/test_stats.py::test_ndim_error[dask.array.Array[numpy.ndarray]-1d-ax0-mean_var] PASSED [ 16%] +tests/test_stats.py::test_ndim_error[dask.array.Array[numpy.ndarray]-1d-ax0-is_constant] PASSED [ 16%] +tests/test_stats.py::test_ndim_error[dask.array.Array[numpy.ndarray]-2d-ax3-sum] PASSED [ 16%] +tests/test_stats.py::test_ndim_error[dask.array.Array[numpy.ndarray]-2d-ax3-min] PASSED [ 16%] +tests/test_stats.py::test_ndim_error[dask.array.Array[numpy.ndarray]-2d-ax3-max] PASSED [ 16%] +tests/test_stats.py::test_ndim_error[dask.array.Array[numpy.ndarray]-2d-ax3-mean] PASSED [ 16%] +tests/test_stats.py::test_ndim_error[dask.array.Array[numpy.ndarray]-2d-ax3-mean_var] PASSED [ 16%] +tests/test_stats.py::test_ndim_error[dask.array.Array[numpy.ndarray]-2d-ax3-is_constant] PASSED [ 16%] +tests/test_stats.py::test_ndim_error[dask.array.Array[numpy.ndarray]-2d-axneg-sum] PASSED [ 16%] +tests/test_stats.py::test_ndim_error[dask.array.Array[numpy.ndarray]-2d-axneg-min] PASSED [ 16%] +tests/test_stats.py::test_ndim_error[dask.array.Array[numpy.ndarray]-2d-axneg-max] PASSED [ 16%] +tests/test_stats.py::test_ndim_error[dask.array.Array[numpy.ndarray]-2d-axneg-mean] PASSED [ 16%] +tests/test_stats.py::test_ndim_error[dask.array.Array[numpy.ndarray]-2d-axneg-mean_var] PASSED [ 16%] +tests/test_stats.py::test_ndim_error[dask.array.Array[numpy.ndarray]-2d-axneg-is_constant] PASSED [ 16%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[numpy.ndarray]-0-3x2-sum] PASSED [ 16%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[numpy.ndarray]-0-3x2-min] PASSED [ 16%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[numpy.ndarray]-0-3x2-max] PASSED [ 16%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[numpy.ndarray]-0-2x3-sum] PASSED [ 16%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[numpy.ndarray]-0-2x3-min] PASSED [ 16%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[numpy.ndarray]-0-2x3-max] PASSED [ 16%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[numpy.ndarray]-0-2x2-sum] PASSED [ 16%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[numpy.ndarray]-0-2x2-min] PASSED [ 16%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[numpy.ndarray]-0-2x2-max] PASSED [ 16%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[numpy.ndarray]-1-3x2-sum] PASSED [ 16%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[numpy.ndarray]-1-3x2-min] PASSED [ 16%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[numpy.ndarray]-1-3x2-max] PASSED [ 17%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[numpy.ndarray]-1-2x3-sum] PASSED [ 17%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[numpy.ndarray]-1-2x3-min] PASSED [ 17%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[numpy.ndarray]-1-2x3-max] PASSED [ 17%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[numpy.ndarray]-1-2x2-sum] PASSED [ 17%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[numpy.ndarray]-1-2x2-min] PASSED [ 17%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[numpy.ndarray]-1-2x2-max] PASSED [ 17%] +tests/test_stats.py::test_is_constant[dask.array.Array[numpy.ndarray]-None] PASSED [ 17%] +tests/test_stats.py::test_is_constant[dask.array.Array[numpy.ndarray]-0] PASSED [ 17%] +tests/test_stats.py::test_is_constant[dask.array.Array[numpy.ndarray]-1] PASSED [ 17%] +tests/test_stats.py::test_dask_constant_blocks[dask.array.Array[numpy.ndarray]] PASSED [ 17%] +tests/test_test_utils.py::test_conv[dask.array.Array[numpy.ndarray]-float32] PASSED [ 17%] +tests/test_test_utils.py::test_conv[dask.array.Array[numpy.ndarray]-float64] PASSED [ 17%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[numpy.ndarray]-scipy.sparse.csr_array] PASSED [ 17%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csc_matrix-scipy.sparse.csr_array] SKIPPED [ 17%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_matrix-scipy.sparse.csr_array] PASSED [ 17%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csr_matrix-scipy.sparse.csr_array] SKIPPED [ 17%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_matrix-scipy.sparse.csr_array] PASSED [ 17%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_array-scipy.sparse.csr_array] PASSED [ 17%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_array-scipy.sparse.csr_array] PASSED [ 17%] +tests/test_test_utils.py::test_conv_other[cupy.ndarray-scipy.sparse.csr_array] SKIPPED [ 17%] +tests/test_test_utils.py::test_conv_other[numpy.ndarray-scipy.sparse.csr_array] PASSED [ 17%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupy.ndarray]-scipy.sparse.csr_array] SKIPPED [ 17%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupy.ndarray]-cupy.ndarray] SKIPPED [ 17%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupy.ndarray]-numpy.ndarray] SKIPPED [ 17%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-None-2d-ax1-float32] SKIPPED [ 17%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-None-2d-ax1-float64] SKIPPED [ 17%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-None-2d-ax1-int32] SKIPPED [ 17%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-None-2d-ax1-bool] SKIPPED [ 17%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-None-2d-ax0-float32] SKIPPED [ 17%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-None-2d-ax0-float64] SKIPPED [ 17%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-None-2d-ax0-int32] SKIPPED [ 17%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-None-2d-ax0-bool] SKIPPED [ 17%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-None-2d-all-float32] SKIPPED [ 18%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-None-2d-all-float64] SKIPPED [ 18%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-None-2d-all-int32] SKIPPED [ 18%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-None-2d-all-bool] SKIPPED [ 18%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-None-1d-all-float32] SKIPPED [ 18%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-None-1d-all-float64] SKIPPED [ 18%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-None-1d-all-int32] SKIPPED [ 18%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-None-1d-all-bool] SKIPPED [ 18%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-int64-2d-ax1-float32] SKIPPED [ 18%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-int64-2d-ax1-float64] SKIPPED [ 18%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-int64-2d-ax1-int32] SKIPPED [ 18%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-int64-2d-ax1-bool] SKIPPED [ 18%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float64-2d-ax1-float32] SKIPPED [ 18%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float64-2d-ax1-float64] SKIPPED [ 18%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float64-2d-ax1-int32] SKIPPED [ 18%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float64-2d-ax1-bool] SKIPPED [ 18%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float32-2d-ax1-float32] SKIPPED [ 18%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float32-2d-ax1-float64] SKIPPED [ 18%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float32-2d-ax1-int32] SKIPPED [ 18%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float32-2d-ax1-bool] SKIPPED [ 18%] +tests/test_stats.py::test_min_max[dask.array.Array[cupy.ndarray]-2d-ax1-min] SKIPPED [ 18%] +tests/test_stats.py::test_min_max[dask.array.Array[cupy.ndarray]-2d-ax1-max] SKIPPED [ 18%] +tests/test_stats.py::test_mean[dask.array.Array[cupy.ndarray]-2d-ax1-float32] SKIPPED [ 18%] +tests/test_stats.py::test_mean[dask.array.Array[cupy.ndarray]-2d-ax1-float64] SKIPPED [ 18%] +tests/test_stats.py::test_mean[dask.array.Array[cupy.ndarray]-2d-ax1-int32] SKIPPED [ 18%] +tests/test_stats.py::test_mean[dask.array.Array[cupy.ndarray]-2d-ax1-bool] SKIPPED [ 18%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupy.ndarray]-2d-ax1-float32] SKIPPED [ 18%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupy.ndarray]-2d-ax1-float64] SKIPPED [ 18%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupy.ndarray]-2d-ax1-int32] SKIPPED [ 18%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupy.ndarray]-2d-ax1-bool] SKIPPED [ 18%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-int64-2d-ax0-float32] SKIPPED [ 18%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-int64-2d-ax0-float64] SKIPPED [ 18%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-int64-2d-ax0-int32] SKIPPED [ 18%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-int64-2d-ax0-bool] SKIPPED [ 19%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-int64-2d-all-float32] SKIPPED [ 19%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-int64-2d-all-float64] SKIPPED [ 19%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-int64-2d-all-int32] SKIPPED [ 19%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-int64-2d-all-bool] SKIPPED [ 19%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-int64-1d-all-float32] SKIPPED [ 19%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-int64-1d-all-float64] SKIPPED [ 19%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-int64-1d-all-int32] SKIPPED [ 19%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-int64-1d-all-bool] SKIPPED [ 19%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float64-2d-ax0-float32] SKIPPED [ 19%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float64-2d-ax0-float64] SKIPPED [ 19%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float64-2d-ax0-int32] SKIPPED [ 19%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float64-2d-ax0-bool] SKIPPED [ 19%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float32-2d-ax0-float32] SKIPPED [ 19%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float32-2d-ax0-float64] SKIPPED [ 19%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float32-2d-ax0-int32] SKIPPED [ 19%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float32-2d-ax0-bool] SKIPPED [ 19%] +tests/test_stats.py::test_min_max[dask.array.Array[cupy.ndarray]-2d-ax0-min] SKIPPED [ 19%] +tests/test_stats.py::test_min_max[dask.array.Array[cupy.ndarray]-2d-ax0-max] SKIPPED [ 19%] +tests/test_stats.py::test_mean[dask.array.Array[cupy.ndarray]-2d-ax0-float32] SKIPPED [ 19%] +tests/test_stats.py::test_mean[dask.array.Array[cupy.ndarray]-2d-ax0-float64] SKIPPED [ 19%] +tests/test_stats.py::test_mean[dask.array.Array[cupy.ndarray]-2d-ax0-int32] SKIPPED [ 19%] +tests/test_stats.py::test_mean[dask.array.Array[cupy.ndarray]-2d-ax0-bool] SKIPPED [ 19%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupy.ndarray]-2d-ax0-float32] SKIPPED [ 19%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupy.ndarray]-2d-ax0-float64] SKIPPED [ 19%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupy.ndarray]-2d-ax0-int32] SKIPPED [ 19%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupy.ndarray]-2d-ax0-bool] SKIPPED [ 19%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float64-2d-all-float32] SKIPPED [ 19%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float64-2d-all-float64] SKIPPED [ 19%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float64-2d-all-int32] SKIPPED [ 19%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float64-2d-all-bool] SKIPPED [ 19%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float64-1d-all-float32] SKIPPED [ 19%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float64-1d-all-float64] SKIPPED [ 19%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float64-1d-all-int32] SKIPPED [ 20%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float64-1d-all-bool] SKIPPED [ 20%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float32-2d-all-float32] SKIPPED [ 20%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float32-2d-all-float64] SKIPPED [ 20%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float32-2d-all-int32] SKIPPED [ 20%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float32-2d-all-bool] SKIPPED [ 20%] +tests/test_stats.py::test_min_max[dask.array.Array[cupy.ndarray]-2d-all-min] SKIPPED [ 20%] +tests/test_stats.py::test_min_max[dask.array.Array[cupy.ndarray]-2d-all-max] SKIPPED [ 20%] +tests/test_stats.py::test_mean[dask.array.Array[cupy.ndarray]-2d-all-float32] SKIPPED [ 20%] +tests/test_stats.py::test_mean[dask.array.Array[cupy.ndarray]-2d-all-float64] SKIPPED [ 20%] +tests/test_stats.py::test_mean[dask.array.Array[cupy.ndarray]-2d-all-int32] SKIPPED [ 20%] +tests/test_stats.py::test_mean[dask.array.Array[cupy.ndarray]-2d-all-bool] SKIPPED [ 20%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupy.ndarray]-2d-all-float32] SKIPPED [ 20%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupy.ndarray]-2d-all-float64] SKIPPED [ 20%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupy.ndarray]-2d-all-int32] SKIPPED [ 20%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupy.ndarray]-2d-all-bool] SKIPPED [ 20%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float32-1d-all-float32] SKIPPED [ 20%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float32-1d-all-float64] SKIPPED [ 20%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float32-1d-all-int32] SKIPPED [ 20%] +tests/test_stats.py::test_sum[dask.array.Array[cupy.ndarray]-float32-1d-all-bool] SKIPPED [ 20%] +tests/test_stats.py::test_min_max[dask.array.Array[cupy.ndarray]-1d-all-min] SKIPPED [ 20%] +tests/test_stats.py::test_min_max[dask.array.Array[cupy.ndarray]-1d-all-max] SKIPPED [ 20%] +tests/test_stats.py::test_mean[dask.array.Array[cupy.ndarray]-1d-all-float32] SKIPPED [ 20%] +tests/test_stats.py::test_mean[dask.array.Array[cupy.ndarray]-1d-all-float64] SKIPPED [ 20%] +tests/test_stats.py::test_mean[dask.array.Array[cupy.ndarray]-1d-all-int32] SKIPPED [ 20%] +tests/test_stats.py::test_mean[dask.array.Array[cupy.ndarray]-1d-all-bool] SKIPPED [ 20%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupy.ndarray]-1d-all-float32] SKIPPED [ 20%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupy.ndarray]-1d-all-float64] SKIPPED [ 20%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupy.ndarray]-1d-all-int32] SKIPPED [ 20%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupy.ndarray]-1d-all-bool] SKIPPED [ 20%] +tests/test_stats.py::test_ndim_error[dask.array.Array[cupy.ndarray]-1d-ax0-sum] SKIPPED [ 20%] +tests/test_stats.py::test_ndim_error[dask.array.Array[cupy.ndarray]-1d-ax0-min] SKIPPED [ 20%] +tests/test_stats.py::test_ndim_error[dask.array.Array[cupy.ndarray]-1d-ax0-max] SKIPPED [ 20%] +tests/test_stats.py::test_ndim_error[dask.array.Array[cupy.ndarray]-1d-ax0-mean] SKIPPED [ 21%] +tests/test_stats.py::test_ndim_error[dask.array.Array[cupy.ndarray]-1d-ax0-mean_var] SKIPPED [ 21%] +tests/test_stats.py::test_ndim_error[dask.array.Array[cupy.ndarray]-1d-ax0-is_constant] SKIPPED [ 21%] +tests/test_stats.py::test_ndim_error[dask.array.Array[cupy.ndarray]-2d-ax3-sum] SKIPPED [ 21%] +tests/test_stats.py::test_ndim_error[dask.array.Array[cupy.ndarray]-2d-ax3-min] SKIPPED [ 21%] +tests/test_stats.py::test_ndim_error[dask.array.Array[cupy.ndarray]-2d-ax3-max] SKIPPED [ 21%] +tests/test_stats.py::test_ndim_error[dask.array.Array[cupy.ndarray]-2d-ax3-mean] SKIPPED [ 21%] +tests/test_stats.py::test_ndim_error[dask.array.Array[cupy.ndarray]-2d-ax3-mean_var] SKIPPED [ 21%] +tests/test_stats.py::test_ndim_error[dask.array.Array[cupy.ndarray]-2d-ax3-is_constant] SKIPPED [ 21%] +tests/test_stats.py::test_ndim_error[dask.array.Array[cupy.ndarray]-2d-axneg-sum] SKIPPED [ 21%] +tests/test_stats.py::test_ndim_error[dask.array.Array[cupy.ndarray]-2d-axneg-min] SKIPPED [ 21%] +tests/test_stats.py::test_ndim_error[dask.array.Array[cupy.ndarray]-2d-axneg-max] SKIPPED [ 21%] +tests/test_stats.py::test_ndim_error[dask.array.Array[cupy.ndarray]-2d-axneg-mean] SKIPPED [ 21%] +tests/test_stats.py::test_ndim_error[dask.array.Array[cupy.ndarray]-2d-axneg-mean_var] SKIPPED [ 21%] +tests/test_stats.py::test_ndim_error[dask.array.Array[cupy.ndarray]-2d-axneg-is_constant] SKIPPED [ 21%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupy.ndarray]-0-3x2-sum] SKIPPED [ 21%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupy.ndarray]-0-3x2-min] SKIPPED [ 21%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupy.ndarray]-0-3x2-max] SKIPPED [ 21%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupy.ndarray]-0-2x3-sum] SKIPPED [ 21%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupy.ndarray]-0-2x3-min] SKIPPED [ 21%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupy.ndarray]-0-2x3-max] SKIPPED [ 21%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupy.ndarray]-0-2x2-sum] SKIPPED [ 21%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupy.ndarray]-0-2x2-min] SKIPPED [ 21%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupy.ndarray]-0-2x2-max] SKIPPED [ 21%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupy.ndarray]-1-3x2-sum] SKIPPED [ 21%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupy.ndarray]-1-3x2-min] SKIPPED [ 21%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupy.ndarray]-1-3x2-max] SKIPPED [ 21%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupy.ndarray]-1-2x3-sum] SKIPPED [ 21%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupy.ndarray]-1-2x3-min] SKIPPED [ 21%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupy.ndarray]-1-2x3-max] SKIPPED [ 21%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupy.ndarray]-1-2x2-sum] SKIPPED [ 21%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupy.ndarray]-1-2x2-min] SKIPPED [ 21%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupy.ndarray]-1-2x2-max] SKIPPED [ 21%] +tests/test_stats.py::test_is_constant[dask.array.Array[cupy.ndarray]-None] SKIPPED [ 22%] +tests/test_stats.py::test_is_constant[dask.array.Array[cupy.ndarray]-0] SKIPPED [ 22%] +tests/test_stats.py::test_is_constant[dask.array.Array[cupy.ndarray]-1] SKIPPED [ 22%] +tests/test_stats.py::test_dask_constant_blocks[dask.array.Array[cupy.ndarray]] SKIPPED [ 22%] +tests/test_test_utils.py::test_conv[dask.array.Array[cupy.ndarray]-float32] SKIPPED [ 22%] +tests/test_test_utils.py::test_conv[dask.array.Array[cupy.ndarray]-float64] SKIPPED [ 22%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupy.ndarray]-scipy.sparse.csc_array] SKIPPED [ 22%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[numpy.ndarray]-scipy.sparse.csc_array] PASSED [ 22%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csc_matrix-scipy.sparse.csc_array] SKIPPED [ 22%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_matrix-scipy.sparse.csc_array] PASSED [ 22%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csr_matrix-scipy.sparse.csc_array] SKIPPED [ 22%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_matrix-scipy.sparse.csc_array] PASSED [ 22%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_array-scipy.sparse.csc_array] PASSED [ 22%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_array-scipy.sparse.csc_array] PASSED [ 22%] +tests/test_test_utils.py::test_conv_other[cupy.ndarray-scipy.sparse.csc_array] SKIPPED [ 22%] +tests/test_test_utils.py::test_conv_other[numpy.ndarray-scipy.sparse.csc_array] PASSED [ 22%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_array]-scipy.sparse.csc_array] PASSED [ 22%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_array]-scipy.sparse.csr_array] PASSED [ 22%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_array]-cupy.ndarray] SKIPPED [ 22%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_array]-numpy.ndarray] PASSED [ 22%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-None-2d-ax1-float32] PASSED [ 22%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-None-2d-ax1-float64] PASSED [ 22%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-None-2d-ax1-int32] PASSED [ 22%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-None-2d-ax1-bool] PASSED [ 22%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-None-2d-ax0-float32] PASSED [ 22%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-None-2d-ax0-float64] PASSED [ 22%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-None-2d-ax0-int32] PASSED [ 22%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-None-2d-ax0-bool] PASSED [ 22%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-None-2d-all-float32] PASSED [ 22%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-None-2d-all-float64] PASSED [ 22%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-None-2d-all-int32] PASSED [ 22%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-None-2d-all-bool] PASSED [ 22%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-None-1d-all-float32] PASSED [ 22%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-None-1d-all-float64] PASSED [ 23%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-None-1d-all-int32] PASSED [ 23%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-None-1d-all-bool] PASSED [ 23%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-int64-2d-ax1-float32] PASSED [ 23%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-int64-2d-ax1-float64] PASSED [ 23%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-int64-2d-ax1-int32] PASSED [ 23%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-int64-2d-ax1-bool] PASSED [ 23%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float64-2d-ax1-float32] PASSED [ 23%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float64-2d-ax1-float64] PASSED [ 23%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float64-2d-ax1-int32] PASSED [ 23%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float64-2d-ax1-bool] PASSED [ 23%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float32-2d-ax1-float32] PASSED [ 23%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float32-2d-ax1-float64] PASSED [ 23%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float32-2d-ax1-int32] PASSED [ 23%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float32-2d-ax1-bool] PASSED [ 23%] +tests/test_stats.py::test_sum_to_int[dask.array.Array[scipy.sparse.csr_array]-2d-ax1] PASSED [ 23%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csr_array]-2d-ax1-min] PASSED [ 23%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csr_array]-2d-ax1-max] PASSED [ 23%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_array]-2d-ax1-float32] PASSED [ 23%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_array]-2d-ax1-float64] PASSED [ 23%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_array]-2d-ax1-int32] PASSED [ 23%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_array]-2d-ax1-bool] PASSED [ 23%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_array]-2d-ax1-float32] PASSED [ 23%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_array]-2d-ax1-float64] PASSED [ 23%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_array]-2d-ax1-int32] PASSED [ 23%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_array]-2d-ax1-bool] PASSED [ 23%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-int64-2d-ax0-float32] PASSED [ 23%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-int64-2d-ax0-float64] PASSED [ 23%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-int64-2d-ax0-int32] PASSED [ 23%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-int64-2d-ax0-bool] PASSED [ 23%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-int64-2d-all-float32] PASSED [ 23%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-int64-2d-all-float64] PASSED [ 23%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-int64-2d-all-int32] PASSED [ 23%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-int64-2d-all-bool] PASSED [ 24%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-int64-1d-all-float32] PASSED [ 24%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-int64-1d-all-float64] PASSED [ 24%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-int64-1d-all-int32] PASSED [ 24%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-int64-1d-all-bool] PASSED [ 24%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float64-2d-ax0-float32] PASSED [ 24%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float64-2d-ax0-float64] PASSED [ 24%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float64-2d-ax0-int32] PASSED [ 24%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float64-2d-ax0-bool] PASSED [ 24%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float32-2d-ax0-float32] PASSED [ 24%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float32-2d-ax0-float64] PASSED [ 24%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float32-2d-ax0-int32] PASSED [ 24%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float32-2d-ax0-bool] PASSED [ 24%] +tests/test_stats.py::test_sum_to_int[dask.array.Array[scipy.sparse.csr_array]-2d-ax0] PASSED [ 24%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csr_array]-2d-ax0-min] PASSED [ 24%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csr_array]-2d-ax0-max] PASSED [ 24%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_array]-2d-ax0-float32] PASSED [ 24%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_array]-2d-ax0-float64] PASSED [ 24%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_array]-2d-ax0-int32] PASSED [ 24%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_array]-2d-ax0-bool] PASSED [ 24%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_array]-2d-ax0-float32] PASSED [ 24%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_array]-2d-ax0-float64] PASSED [ 24%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_array]-2d-ax0-int32] PASSED [ 24%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_array]-2d-ax0-bool] PASSED [ 24%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float64-2d-all-float32] PASSED [ 24%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float64-2d-all-float64] PASSED [ 24%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float64-2d-all-int32] PASSED [ 24%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float64-2d-all-bool] PASSED [ 24%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float64-1d-all-float32] PASSED [ 24%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float64-1d-all-float64] PASSED [ 24%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float64-1d-all-int32] PASSED [ 24%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float64-1d-all-bool] PASSED [ 24%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float32-2d-all-float32] PASSED [ 25%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float32-2d-all-float64] PASSED [ 25%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float32-2d-all-int32] PASSED [ 25%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float32-2d-all-bool] PASSED [ 25%] +tests/test_stats.py::test_sum_to_int[dask.array.Array[scipy.sparse.csr_array]-2d-all] PASSED [ 25%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csr_array]-2d-all-min] PASSED [ 25%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csr_array]-2d-all-max] PASSED [ 25%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_array]-2d-all-float32] PASSED [ 25%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_array]-2d-all-float64] PASSED [ 25%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_array]-2d-all-int32] PASSED [ 25%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_array]-2d-all-bool] PASSED [ 25%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_array]-2d-all-float32] PASSED [ 25%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_array]-2d-all-float64] PASSED [ 25%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_array]-2d-all-int32] PASSED [ 25%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_array]-2d-all-bool] PASSED [ 25%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float32-1d-all-float32] PASSED [ 25%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float32-1d-all-float64] PASSED [ 25%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float32-1d-all-int32] PASSED [ 25%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_array]-float32-1d-all-bool] PASSED [ 25%] +tests/test_stats.py::test_sum_to_int[dask.array.Array[scipy.sparse.csr_array]-1d-all] PASSED [ 25%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csr_array]-1d-all-min] PASSED [ 25%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csr_array]-1d-all-max] PASSED [ 25%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_array]-1d-all-float32] PASSED [ 25%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_array]-1d-all-float64] PASSED [ 25%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_array]-1d-all-int32] PASSED [ 25%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_array]-1d-all-bool] PASSED [ 25%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_array]-1d-all-float32] PASSED [ 25%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_array]-1d-all-float64] PASSED [ 25%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_array]-1d-all-int32] PASSED [ 25%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_array]-1d-all-bool] PASSED [ 25%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csr_array]-1d-ax0-sum] PASSED [ 25%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csr_array]-1d-ax0-min] PASSED [ 25%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csr_array]-1d-ax0-max] PASSED [ 25%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csr_array]-1d-ax0-mean] PASSED [ 26%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csr_array]-1d-ax0-mean_var] PASSED [ 26%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csr_array]-1d-ax0-is_constant] PASSED [ 26%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csr_array]-2d-ax3-sum] PASSED [ 26%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csr_array]-2d-ax3-min] PASSED [ 26%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csr_array]-2d-ax3-max] PASSED [ 26%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csr_array]-2d-ax3-mean] PASSED [ 26%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csr_array]-2d-ax3-mean_var] PASSED [ 26%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csr_array]-2d-ax3-is_constant] PASSED [ 26%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csr_array]-2d-axneg-sum] PASSED [ 26%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csr_array]-2d-axneg-min] PASSED [ 26%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csr_array]-2d-axneg-max] PASSED [ 26%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csr_array]-2d-axneg-mean] PASSED [ 26%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csr_array]-2d-axneg-mean_var] PASSED [ 26%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csr_array]-2d-axneg-is_constant] PASSED [ 26%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_array]-0-3x2-sum] PASSED [ 26%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_array]-0-3x2-min] PASSED [ 26%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_array]-0-3x2-max] PASSED [ 26%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_array]-0-2x3-sum] PASSED [ 26%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_array]-0-2x3-min] PASSED [ 26%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_array]-0-2x3-max] PASSED [ 26%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_array]-0-2x2-sum] PASSED [ 26%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_array]-0-2x2-min] PASSED [ 26%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_array]-0-2x2-max] PASSED [ 26%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_array]-1-3x2-sum] PASSED [ 26%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_array]-1-3x2-min] PASSED [ 26%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_array]-1-3x2-max] PASSED [ 26%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_array]-1-2x3-sum] PASSED [ 26%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_array]-1-2x3-min] PASSED [ 26%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_array]-1-2x3-max] PASSED [ 26%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_array]-1-2x2-sum] PASSED [ 26%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_array]-1-2x2-min] PASSED [ 26%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_array]-1-2x2-max] PASSED [ 26%] +tests/test_stats.py::test_mean_var_pbmc_dask[dask.array.Array[scipy.sparse.csr_array]] PASSED [ 27%] +tests/test_stats.py::test_is_constant[dask.array.Array[scipy.sparse.csr_array]-None] PASSED [ 27%] +tests/test_stats.py::test_is_constant[dask.array.Array[scipy.sparse.csr_array]-0] PASSED [ 27%] +tests/test_stats.py::test_is_constant[dask.array.Array[scipy.sparse.csr_array]-1] PASSED [ 27%] +tests/test_stats.py::test_dask_constant_blocks[dask.array.Array[scipy.sparse.csr_array]] PASSED [ 27%] +tests/test_test_utils.py::test_conv[dask.array.Array[scipy.sparse.csr_array]-float32] PASSED [ 27%] +tests/test_test_utils.py::test_conv[dask.array.Array[scipy.sparse.csr_array]-float64] PASSED [ 27%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_array]-scipy.sparse.csr_matrix] PASSED [ 27%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupy.ndarray]-scipy.sparse.csr_matrix] SKIPPED [ 27%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[numpy.ndarray]-scipy.sparse.csr_matrix] PASSED [ 27%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csc_matrix-scipy.sparse.csr_matrix] SKIPPED [ 27%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_matrix-scipy.sparse.csr_matrix] PASSED [ 27%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csr_matrix-scipy.sparse.csr_matrix] SKIPPED [ 27%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_matrix-scipy.sparse.csr_matrix] PASSED [ 27%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_array-scipy.sparse.csr_matrix] PASSED [ 27%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_array-scipy.sparse.csr_matrix] PASSED [ 27%] +tests/test_test_utils.py::test_conv_other[cupy.ndarray-scipy.sparse.csr_matrix] SKIPPED [ 27%] +tests/test_test_utils.py::test_conv_other[numpy.ndarray-scipy.sparse.csr_matrix] PASSED [ 27%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_array]-scipy.sparse.csr_matrix] PASSED [ 27%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_array]-scipy.sparse.csc_array] PASSED [ 27%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_array]-scipy.sparse.csr_array] PASSED [ 27%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_array]-cupy.ndarray] SKIPPED [ 27%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_array]-numpy.ndarray] PASSED [ 27%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-None-2d-ax1-float32] PASSED [ 27%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-None-2d-ax1-float64] PASSED [ 27%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-None-2d-ax1-int32] PASSED [ 27%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-None-2d-ax1-bool] PASSED [ 27%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-None-2d-ax0-float32] PASSED [ 27%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-None-2d-ax0-float64] PASSED [ 27%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-None-2d-ax0-int32] PASSED [ 27%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-None-2d-ax0-bool] PASSED [ 27%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-None-2d-all-float32] PASSED [ 27%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-None-2d-all-float64] PASSED [ 27%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-None-2d-all-int32] PASSED [ 28%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-None-2d-all-bool] PASSED [ 28%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-None-1d-all-float32] SKIPPED [ 28%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-None-1d-all-float64] SKIPPED [ 28%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-None-1d-all-int32] SKIPPED [ 28%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-None-1d-all-bool] SKIPPED [ 28%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-int64-2d-ax1-float32] PASSED [ 28%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-int64-2d-ax1-float64] PASSED [ 28%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-int64-2d-ax1-int32] PASSED [ 28%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-int64-2d-ax1-bool] PASSED [ 28%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float64-2d-ax1-float32] PASSED [ 28%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float64-2d-ax1-float64] PASSED [ 28%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float64-2d-ax1-int32] PASSED [ 28%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float64-2d-ax1-bool] PASSED [ 28%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float32-2d-ax1-float32] PASSED [ 28%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float32-2d-ax1-float64] PASSED [ 28%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float32-2d-ax1-int32] PASSED [ 28%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float32-2d-ax1-bool] PASSED [ 28%] +tests/test_stats.py::test_sum_to_int[dask.array.Array[scipy.sparse.csc_array]-2d-ax1] PASSED [ 28%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csc_array]-2d-ax1-min] PASSED [ 28%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csc_array]-2d-ax1-max] PASSED [ 28%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_array]-2d-ax1-float32] PASSED [ 28%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_array]-2d-ax1-float64] PASSED [ 28%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_array]-2d-ax1-int32] PASSED [ 28%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_array]-2d-ax1-bool] PASSED [ 28%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_array]-2d-ax1-float32] PASSED [ 28%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_array]-2d-ax1-float64] PASSED [ 28%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_array]-2d-ax1-int32] PASSED [ 28%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_array]-2d-ax1-bool] PASSED [ 28%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-int64-2d-ax0-float32] PASSED [ 28%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-int64-2d-ax0-float64] PASSED [ 28%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-int64-2d-ax0-int32] PASSED [ 28%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-int64-2d-ax0-bool] PASSED [ 28%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-int64-2d-all-float32] PASSED [ 29%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-int64-2d-all-float64] PASSED [ 29%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-int64-2d-all-int32] PASSED [ 29%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-int64-2d-all-bool] PASSED [ 29%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-int64-1d-all-float32] SKIPPED [ 29%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-int64-1d-all-float64] SKIPPED [ 29%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-int64-1d-all-int32] SKIPPED [ 29%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-int64-1d-all-bool] SKIPPED [ 29%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float64-2d-ax0-float32] PASSED [ 29%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float64-2d-ax0-float64] PASSED [ 29%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float64-2d-ax0-int32] PASSED [ 29%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float64-2d-ax0-bool] PASSED [ 29%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float32-2d-ax0-float32] PASSED [ 29%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float32-2d-ax0-float64] PASSED [ 29%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float32-2d-ax0-int32] PASSED [ 29%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float32-2d-ax0-bool] PASSED [ 29%] +tests/test_stats.py::test_sum_to_int[dask.array.Array[scipy.sparse.csc_array]-2d-ax0] PASSED [ 29%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csc_array]-2d-ax0-min] PASSED [ 29%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csc_array]-2d-ax0-max] PASSED [ 29%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_array]-2d-ax0-float32] PASSED [ 29%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_array]-2d-ax0-float64] PASSED [ 29%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_array]-2d-ax0-int32] PASSED [ 29%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_array]-2d-ax0-bool] PASSED [ 29%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_array]-2d-ax0-float32] PASSED [ 29%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_array]-2d-ax0-float64] PASSED [ 29%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_array]-2d-ax0-int32] PASSED [ 29%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_array]-2d-ax0-bool] PASSED [ 29%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float64-2d-all-float32] PASSED [ 29%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float64-2d-all-float64] PASSED [ 29%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float64-2d-all-int32] PASSED [ 29%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float64-2d-all-bool] PASSED [ 29%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float64-1d-all-float32] SKIPPED [ 29%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float64-1d-all-float64] SKIPPED [ 29%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float64-1d-all-int32] SKIPPED [ 30%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float64-1d-all-bool] SKIPPED [ 30%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float32-2d-all-float32] PASSED [ 30%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float32-2d-all-float64] PASSED [ 30%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float32-2d-all-int32] PASSED [ 30%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float32-2d-all-bool] PASSED [ 30%] +tests/test_stats.py::test_sum_to_int[dask.array.Array[scipy.sparse.csc_array]-2d-all] PASSED [ 30%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csc_array]-2d-all-min] PASSED [ 30%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csc_array]-2d-all-max] PASSED [ 30%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_array]-2d-all-float32] PASSED [ 30%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_array]-2d-all-float64] PASSED [ 30%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_array]-2d-all-int32] PASSED [ 30%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_array]-2d-all-bool] PASSED [ 30%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_array]-2d-all-float32] PASSED [ 30%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_array]-2d-all-float64] PASSED [ 30%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_array]-2d-all-int32] PASSED [ 30%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_array]-2d-all-bool] PASSED [ 30%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float32-1d-all-float32] SKIPPED [ 30%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float32-1d-all-float64] SKIPPED [ 30%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float32-1d-all-int32] SKIPPED [ 30%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_array]-float32-1d-all-bool] SKIPPED [ 30%] +tests/test_stats.py::test_sum_to_int[dask.array.Array[scipy.sparse.csc_array]-1d-all] PASSED [ 30%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csc_array]-1d-all-min] PASSED [ 30%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csc_array]-1d-all-max] PASSED [ 30%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_array]-1d-all-float32] SKIPPED [ 30%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_array]-1d-all-float64] SKIPPED [ 30%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_array]-1d-all-int32] SKIPPED [ 30%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_array]-1d-all-bool] SKIPPED [ 30%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_array]-1d-all-float32] SKIPPED [ 30%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_array]-1d-all-float64] SKIPPED [ 30%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_array]-1d-all-int32] SKIPPED [ 30%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_array]-1d-all-bool] SKIPPED [ 30%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csc_array]-1d-ax0-sum] SKIPPED [ 30%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csc_array]-1d-ax0-min] SKIPPED [ 31%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csc_array]-1d-ax0-max] SKIPPED [ 31%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csc_array]-1d-ax0-mean] SKIPPED [ 31%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csc_array]-1d-ax0-mean_var] SKIPPED [ 31%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csc_array]-1d-ax0-is_constant] SKIPPED [ 31%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csc_array]-2d-ax3-sum] PASSED [ 31%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csc_array]-2d-ax3-min] PASSED [ 31%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csc_array]-2d-ax3-max] PASSED [ 31%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csc_array]-2d-ax3-mean] PASSED [ 31%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csc_array]-2d-ax3-mean_var] PASSED [ 31%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csc_array]-2d-ax3-is_constant] PASSED [ 31%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csc_array]-2d-axneg-sum] PASSED [ 31%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csc_array]-2d-axneg-min] PASSED [ 31%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csc_array]-2d-axneg-max] PASSED [ 31%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csc_array]-2d-axneg-mean] PASSED [ 31%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csc_array]-2d-axneg-mean_var] PASSED [ 31%] +tests/test_stats.py::test_ndim_error[dask.array.Array[scipy.sparse.csc_array]-2d-axneg-is_constant] PASSED [ 31%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_array]-0-3x2-sum] PASSED [ 31%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_array]-0-3x2-min] PASSED [ 31%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_array]-0-3x2-max] PASSED [ 31%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_array]-0-2x3-sum] PASSED [ 31%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_array]-0-2x3-min] PASSED [ 31%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_array]-0-2x3-max] PASSED [ 31%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_array]-0-2x2-sum] PASSED [ 31%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_array]-0-2x2-min] PASSED [ 31%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_array]-0-2x2-max] PASSED [ 31%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_array]-1-3x2-sum] PASSED [ 31%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_array]-1-3x2-min] PASSED [ 31%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_array]-1-3x2-max] PASSED [ 31%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_array]-1-2x3-sum] PASSED [ 31%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_array]-1-2x3-min] PASSED [ 31%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_array]-1-2x3-max] PASSED [ 31%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_array]-1-2x2-sum] PASSED [ 31%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_array]-1-2x2-min] PASSED [ 32%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_array]-1-2x2-max] PASSED [ 32%] +tests/test_stats.py::test_mean_var_pbmc_dask[dask.array.Array[scipy.sparse.csc_array]] PASSED [ 32%] +tests/test_stats.py::test_is_constant[dask.array.Array[scipy.sparse.csc_array]-None] PASSED [ 32%] +tests/test_stats.py::test_is_constant[dask.array.Array[scipy.sparse.csc_array]-0] PASSED [ 32%] +tests/test_stats.py::test_is_constant[dask.array.Array[scipy.sparse.csc_array]-1] PASSED [ 32%] +tests/test_stats.py::test_dask_constant_blocks[dask.array.Array[scipy.sparse.csc_array]] PASSED [ 32%] +tests/test_test_utils.py::test_conv[dask.array.Array[scipy.sparse.csc_array]-float32] PASSED [ 32%] +tests/test_test_utils.py::test_conv[dask.array.Array[scipy.sparse.csc_array]-float64] PASSED [ 32%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_array]-cupyx.scipy.sparse.csr_matrix] SKIPPED [ 32%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_array]-cupyx.scipy.sparse.csr_matrix] SKIPPED [ 32%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupy.ndarray]-cupyx.scipy.sparse.csr_matrix] SKIPPED [ 32%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[numpy.ndarray]-cupyx.scipy.sparse.csr_matrix] SKIPPED [ 32%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csc_matrix-cupyx.scipy.sparse.csr_matrix] SKIPPED [ 32%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_matrix-cupyx.scipy.sparse.csr_matrix] SKIPPED [ 32%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csr_matrix-cupyx.scipy.sparse.csr_matrix] SKIPPED [ 32%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_matrix-cupyx.scipy.sparse.csr_matrix] SKIPPED [ 32%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_array-cupyx.scipy.sparse.csr_matrix] SKIPPED [ 32%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_array-cupyx.scipy.sparse.csr_matrix] SKIPPED [ 32%] +tests/test_test_utils.py::test_conv_other[cupy.ndarray-cupyx.scipy.sparse.csr_matrix] SKIPPED [ 32%] +tests/test_test_utils.py::test_conv_other[numpy.ndarray-cupyx.scipy.sparse.csr_matrix] SKIPPED [ 32%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_matrix]-cupyx.scipy.sparse.csr_matrix] SKIPPED [ 32%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_matrix]-scipy.sparse.csr_matrix] PASSED [ 32%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_matrix]-scipy.sparse.csc_array] PASSED [ 32%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_matrix]-scipy.sparse.csr_array] PASSED [ 32%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_matrix]-cupy.ndarray] SKIPPED [ 32%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_matrix]-numpy.ndarray] PASSED [ 32%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-None-2d-ax1-float32] PASSED [ 32%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-None-2d-ax1-float64] PASSED [ 32%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-None-2d-ax1-int32] PASSED [ 32%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-None-2d-ax1-bool] PASSED [ 32%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-None-2d-ax0-float32] PASSED [ 32%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-None-2d-ax0-float64] PASSED [ 32%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-None-2d-ax0-int32] PASSED [ 33%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-None-2d-ax0-bool] PASSED [ 33%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-None-2d-all-float32] PASSED [ 33%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-None-2d-all-float64] PASSED [ 33%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-None-2d-all-int32] PASSED [ 33%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-None-2d-all-bool] PASSED [ 33%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-None-1d-all-float32] SKIPPED [ 33%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-None-1d-all-float64] SKIPPED [ 33%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-None-1d-all-int32] SKIPPED [ 33%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-None-1d-all-bool] SKIPPED [ 33%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-int64-2d-ax1-float32] PASSED [ 33%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-int64-2d-ax1-float64] PASSED [ 33%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-int64-2d-ax1-int32] PASSED [ 33%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-int64-2d-ax1-bool] PASSED [ 33%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float64-2d-ax1-float32] PASSED [ 33%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float64-2d-ax1-float64] PASSED [ 33%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float64-2d-ax1-int32] PASSED [ 33%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float64-2d-ax1-bool] PASSED [ 33%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float32-2d-ax1-float32] PASSED [ 33%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float32-2d-ax1-float64] PASSED [ 33%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float32-2d-ax1-int32] PASSED [ 33%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float32-2d-ax1-bool] PASSED [ 33%] +tests/test_stats.py::test_sum_to_int[dask.array.Array[scipy.sparse.csr_matrix]-2d-ax1] PASSED [ 33%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csr_matrix]-2d-ax1-min] PASSED [ 33%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csr_matrix]-2d-ax1-max] PASSED [ 33%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_matrix]-2d-ax1-float32] PASSED [ 33%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_matrix]-2d-ax1-float64] PASSED [ 33%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_matrix]-2d-ax1-int32] PASSED [ 33%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_matrix]-2d-ax1-bool] PASSED [ 33%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_matrix]-2d-ax1-float32] PASSED [ 33%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_matrix]-2d-ax1-float64] PASSED [ 33%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_matrix]-2d-ax1-int32] PASSED [ 33%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_matrix]-2d-ax1-bool] PASSED [ 33%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-int64-2d-ax0-float32] PASSED [ 34%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-int64-2d-ax0-float64] PASSED [ 34%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-int64-2d-ax0-int32] PASSED [ 34%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-int64-2d-ax0-bool] PASSED [ 34%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-int64-2d-all-float32] PASSED [ 34%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-int64-2d-all-float64] PASSED [ 34%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-int64-2d-all-int32] PASSED [ 34%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-int64-2d-all-bool] PASSED [ 34%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-int64-1d-all-float32] SKIPPED [ 34%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-int64-1d-all-float64] SKIPPED [ 34%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-int64-1d-all-int32] SKIPPED [ 34%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-int64-1d-all-bool] SKIPPED [ 34%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float64-2d-ax0-float32] PASSED [ 34%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float64-2d-ax0-float64] PASSED [ 34%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float64-2d-ax0-int32] PASSED [ 34%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float64-2d-ax0-bool] PASSED [ 34%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float32-2d-ax0-float32] PASSED [ 34%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float32-2d-ax0-float64] PASSED [ 34%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float32-2d-ax0-int32] PASSED [ 34%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float32-2d-ax0-bool] PASSED [ 34%] +tests/test_stats.py::test_sum_to_int[dask.array.Array[scipy.sparse.csr_matrix]-2d-ax0] PASSED [ 34%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csr_matrix]-2d-ax0-min] PASSED [ 34%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csr_matrix]-2d-ax0-max] PASSED [ 34%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_matrix]-2d-ax0-float32] PASSED [ 34%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_matrix]-2d-ax0-float64] PASSED [ 34%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_matrix]-2d-ax0-int32] PASSED [ 34%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_matrix]-2d-ax0-bool] PASSED [ 34%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_matrix]-2d-ax0-float32] PASSED [ 34%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_matrix]-2d-ax0-float64] PASSED [ 34%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_matrix]-2d-ax0-int32] PASSED [ 34%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_matrix]-2d-ax0-bool] PASSED [ 34%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float64-2d-all-float32] PASSED [ 34%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float64-2d-all-float64] PASSED [ 34%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float64-2d-all-int32] PASSED [ 35%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float64-2d-all-bool] PASSED [ 35%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float64-1d-all-float32] SKIPPED [ 35%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float64-1d-all-float64] SKIPPED [ 35%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float64-1d-all-int32] SKIPPED [ 35%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float64-1d-all-bool] SKIPPED [ 35%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float32-2d-all-float32] PASSED [ 35%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float32-2d-all-float64] PASSED [ 35%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float32-2d-all-int32] PASSED [ 35%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float32-2d-all-bool] PASSED [ 35%] +tests/test_stats.py::test_sum_to_int[dask.array.Array[scipy.sparse.csr_matrix]-2d-all] PASSED [ 35%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csr_matrix]-2d-all-min] PASSED [ 35%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csr_matrix]-2d-all-max] PASSED [ 35%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_matrix]-2d-all-float32] PASSED [ 35%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_matrix]-2d-all-float64] PASSED [ 35%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_matrix]-2d-all-int32] PASSED [ 35%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_matrix]-2d-all-bool] PASSED [ 35%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_matrix]-2d-all-float32] PASSED [ 35%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_matrix]-2d-all-float64] PASSED [ 35%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_matrix]-2d-all-int32] PASSED [ 35%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_matrix]-2d-all-bool] PASSED [ 35%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float32-1d-all-float32] SKIPPED [ 35%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float32-1d-all-float64] SKIPPED [ 35%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float32-1d-all-int32] SKIPPED [ 35%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csr_matrix]-float32-1d-all-bool] SKIPPED [ 35%] +tests/test_stats.py::test_sum_to_int[dask.array.Array[scipy.sparse.csr_matrix]-1d-all] PASSED [ 35%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csr_matrix]-1d-all-min] PASSED [ 35%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csr_matrix]-1d-all-max] PASSED [ 35%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_matrix]-1d-all-float32] SKIPPED [ 35%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_matrix]-1d-all-float64] SKIPPED [ 35%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_matrix]-1d-all-int32] SKIPPED [ 35%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csr_matrix]-1d-all-bool] SKIPPED [ 35%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_matrix]-1d-all-float32] SKIPPED [ 35%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_matrix]-1d-all-float64] SKIPPED [ 36%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_matrix]-1d-all-int32] SKIPPED [ 36%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csr_matrix]-1d-all-bool] SKIPPED [ 36%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_matrix]-0-3x2-sum] PASSED [ 36%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_matrix]-0-3x2-min] PASSED [ 36%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_matrix]-0-3x2-max] PASSED [ 36%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_matrix]-0-2x3-sum] PASSED [ 36%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_matrix]-0-2x3-min] PASSED [ 36%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_matrix]-0-2x3-max] PASSED [ 36%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_matrix]-0-2x2-sum] PASSED [ 36%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_matrix]-0-2x2-min] PASSED [ 36%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_matrix]-0-2x2-max] PASSED [ 36%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_matrix]-1-3x2-sum] PASSED [ 36%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_matrix]-1-3x2-min] PASSED [ 36%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_matrix]-1-3x2-max] PASSED [ 36%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_matrix]-1-2x3-sum] PASSED [ 36%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_matrix]-1-2x3-min] PASSED [ 36%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_matrix]-1-2x3-max] PASSED [ 36%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_matrix]-1-2x2-sum] PASSED [ 36%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_matrix]-1-2x2-min] PASSED [ 36%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csr_matrix]-1-2x2-max] PASSED [ 36%] +tests/test_stats.py::test_mean_var_pbmc_dask[dask.array.Array[scipy.sparse.csr_matrix]] PASSED [ 36%] +tests/test_stats.py::test_is_constant[dask.array.Array[scipy.sparse.csr_matrix]-None] PASSED [ 36%] +tests/test_stats.py::test_is_constant[dask.array.Array[scipy.sparse.csr_matrix]-0] PASSED [ 36%] +tests/test_stats.py::test_is_constant[dask.array.Array[scipy.sparse.csr_matrix]-1] PASSED [ 36%] +tests/test_stats.py::test_dask_constant_blocks[dask.array.Array[scipy.sparse.csr_matrix]] PASSED [ 36%] +tests/test_test_utils.py::test_conv[dask.array.Array[scipy.sparse.csr_matrix]-float32] PASSED [ 36%] +tests/test_test_utils.py::test_conv[dask.array.Array[scipy.sparse.csr_matrix]-float64] PASSED [ 36%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_matrix]-scipy.sparse.csc_matrix] PASSED [ 36%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_array]-scipy.sparse.csc_matrix] PASSED [ 36%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_array]-scipy.sparse.csc_matrix] PASSED [ 36%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupy.ndarray]-scipy.sparse.csc_matrix] SKIPPED [ 36%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[numpy.ndarray]-scipy.sparse.csc_matrix] PASSED [ 36%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csc_matrix-scipy.sparse.csc_matrix] SKIPPED [ 37%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_matrix-scipy.sparse.csc_matrix] PASSED [ 37%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csr_matrix-scipy.sparse.csc_matrix] SKIPPED [ 37%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_matrix-scipy.sparse.csc_matrix] PASSED [ 37%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_array-scipy.sparse.csc_matrix] PASSED [ 37%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_array-scipy.sparse.csc_matrix] PASSED [ 37%] +tests/test_test_utils.py::test_conv_other[cupy.ndarray-scipy.sparse.csc_matrix] SKIPPED [ 37%] +tests/test_test_utils.py::test_conv_other[numpy.ndarray-scipy.sparse.csc_matrix] PASSED [ 37%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-scipy.sparse.csc_matrix] SKIPPED [ 37%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-cupyx.scipy.sparse.csr_matrix] SKIPPED [ 37%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-scipy.sparse.csr_matrix] SKIPPED [ 37%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-scipy.sparse.csc_array] SKIPPED [ 37%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-scipy.sparse.csr_array] SKIPPED [ 37%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-cupy.ndarray] SKIPPED [ 37%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-numpy.ndarray] SKIPPED [ 37%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-None-2d-ax1-float32] SKIPPED [ 37%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-None-2d-ax1-float64] SKIPPED [ 37%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-None-2d-ax1-int32] SKIPPED [ 37%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-None-2d-ax1-bool] SKIPPED [ 37%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-None-2d-ax0-float32] SKIPPED [ 37%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-None-2d-ax0-float64] SKIPPED [ 37%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-None-2d-ax0-int32] SKIPPED [ 37%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-None-2d-ax0-bool] SKIPPED [ 37%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-None-2d-all-float32] SKIPPED [ 37%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-None-2d-all-float64] SKIPPED [ 37%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-None-2d-all-int32] SKIPPED [ 37%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-None-2d-all-bool] SKIPPED [ 37%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-None-1d-all-float32] SKIPPED [ 37%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-None-1d-all-float64] SKIPPED [ 37%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-None-1d-all-int32] SKIPPED [ 37%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-None-1d-all-bool] SKIPPED [ 37%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-int64-2d-ax1-float32] SKIPPED [ 37%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-int64-2d-ax1-float64] SKIPPED [ 37%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-int64-2d-ax1-int32] SKIPPED [ 38%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-int64-2d-ax1-bool] SKIPPED [ 38%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float64-2d-ax1-float32] SKIPPED [ 38%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float64-2d-ax1-float64] SKIPPED [ 38%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float64-2d-ax1-int32] SKIPPED [ 38%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float64-2d-ax1-bool] SKIPPED [ 38%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float32-2d-ax1-float32] SKIPPED [ 38%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float32-2d-ax1-float64] SKIPPED [ 38%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float32-2d-ax1-int32] SKIPPED [ 38%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float32-2d-ax1-bool] SKIPPED [ 38%] +tests/test_stats.py::test_min_max[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-ax1-min] SKIPPED [ 38%] +tests/test_stats.py::test_min_max[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-ax1-max] SKIPPED [ 38%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-ax1-float32] SKIPPED [ 38%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-ax1-float64] SKIPPED [ 38%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-ax1-int32] SKIPPED [ 38%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-ax1-bool] SKIPPED [ 38%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-ax1-float32] SKIPPED [ 38%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-ax1-float64] SKIPPED [ 38%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-ax1-int32] SKIPPED [ 38%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-ax1-bool] SKIPPED [ 38%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-int64-2d-ax0-float32] SKIPPED [ 38%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-int64-2d-ax0-float64] SKIPPED [ 38%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-int64-2d-ax0-int32] SKIPPED [ 38%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-int64-2d-ax0-bool] SKIPPED [ 38%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-int64-2d-all-float32] SKIPPED [ 38%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-int64-2d-all-float64] SKIPPED [ 38%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-int64-2d-all-int32] SKIPPED [ 38%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-int64-2d-all-bool] SKIPPED [ 38%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-int64-1d-all-float32] SKIPPED [ 38%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-int64-1d-all-float64] SKIPPED [ 38%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-int64-1d-all-int32] SKIPPED [ 38%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-int64-1d-all-bool] SKIPPED [ 38%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float64-2d-ax0-float32] SKIPPED [ 38%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float64-2d-ax0-float64] SKIPPED [ 39%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float64-2d-ax0-int32] SKIPPED [ 39%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float64-2d-ax0-bool] SKIPPED [ 39%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float32-2d-ax0-float32] SKIPPED [ 39%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float32-2d-ax0-float64] SKIPPED [ 39%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float32-2d-ax0-int32] SKIPPED [ 39%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float32-2d-ax0-bool] SKIPPED [ 39%] +tests/test_stats.py::test_min_max[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-ax0-min] SKIPPED [ 39%] +tests/test_stats.py::test_min_max[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-ax0-max] SKIPPED [ 39%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-ax0-float32] SKIPPED [ 39%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-ax0-float64] SKIPPED [ 39%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-ax0-int32] SKIPPED [ 39%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-ax0-bool] SKIPPED [ 39%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-ax0-float32] SKIPPED [ 39%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-ax0-float64] SKIPPED [ 39%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-ax0-int32] SKIPPED [ 39%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-ax0-bool] SKIPPED [ 39%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float64-2d-all-float32] SKIPPED [ 39%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float64-2d-all-float64] SKIPPED [ 39%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float64-2d-all-int32] SKIPPED [ 39%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float64-2d-all-bool] SKIPPED [ 39%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float64-1d-all-float32] SKIPPED [ 39%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float64-1d-all-float64] SKIPPED [ 39%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float64-1d-all-int32] SKIPPED [ 39%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float64-1d-all-bool] SKIPPED [ 39%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float32-2d-all-float32] SKIPPED [ 39%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float32-2d-all-float64] SKIPPED [ 39%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float32-2d-all-int32] SKIPPED [ 39%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float32-2d-all-bool] SKIPPED [ 39%] +tests/test_stats.py::test_min_max[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-all-min] SKIPPED [ 39%] +tests/test_stats.py::test_min_max[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-all-max] SKIPPED [ 39%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-all-float32] SKIPPED [ 39%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-all-float64] SKIPPED [ 39%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-all-int32] SKIPPED [ 40%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-all-bool] SKIPPED [ 40%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-all-float32] SKIPPED [ 40%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-all-float64] SKIPPED [ 40%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-all-int32] SKIPPED [ 40%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-2d-all-bool] SKIPPED [ 40%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float32-1d-all-float32] SKIPPED [ 40%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float32-1d-all-float64] SKIPPED [ 40%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float32-1d-all-int32] SKIPPED [ 40%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float32-1d-all-bool] SKIPPED [ 40%] +tests/test_stats.py::test_min_max[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-1d-all-min] SKIPPED [ 40%] +tests/test_stats.py::test_min_max[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-1d-all-max] SKIPPED [ 40%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-1d-all-float32] SKIPPED [ 40%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-1d-all-float64] SKIPPED [ 40%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-1d-all-int32] SKIPPED [ 40%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-1d-all-bool] SKIPPED [ 40%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-1d-all-float32] SKIPPED [ 40%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-1d-all-float64] SKIPPED [ 40%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-1d-all-int32] SKIPPED [ 40%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-1d-all-bool] SKIPPED [ 40%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-0-3x2-sum] SKIPPED [ 40%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-0-3x2-min] SKIPPED [ 40%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-0-3x2-max] SKIPPED [ 40%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-0-2x3-sum] SKIPPED [ 40%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-0-2x3-min] SKIPPED [ 40%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-0-2x3-max] SKIPPED [ 40%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-0-2x2-sum] SKIPPED [ 40%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-0-2x2-min] SKIPPED [ 40%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-0-2x2-max] SKIPPED [ 40%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-1-3x2-sum] SKIPPED [ 40%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-1-3x2-min] SKIPPED [ 40%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-1-3x2-max] SKIPPED [ 40%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-1-2x3-sum] SKIPPED [ 40%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-1-2x3-min] SKIPPED [ 41%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-1-2x3-max] SKIPPED [ 41%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-1-2x2-sum] SKIPPED [ 41%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-1-2x2-min] SKIPPED [ 41%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-1-2x2-max] SKIPPED [ 41%] +tests/test_stats.py::test_mean_var_pbmc_dask[dask.array.Array[cupyx.scipy.sparse.csr_matrix]] SKIPPED [ 41%] +tests/test_test_utils.py::test_conv[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float32] SKIPPED [ 41%] +tests/test_test_utils.py::test_conv[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-float64] SKIPPED [ 41%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-cupyx.scipy.sparse.csc_matrix] SKIPPED [ 41%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_matrix]-cupyx.scipy.sparse.csc_matrix] SKIPPED [ 41%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_array]-cupyx.scipy.sparse.csc_matrix] SKIPPED [ 41%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_array]-cupyx.scipy.sparse.csc_matrix] SKIPPED [ 41%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupy.ndarray]-cupyx.scipy.sparse.csc_matrix] SKIPPED [ 41%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[numpy.ndarray]-cupyx.scipy.sparse.csc_matrix] SKIPPED [ 41%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csc_matrix-cupyx.scipy.sparse.csc_matrix] SKIPPED [ 41%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_matrix-cupyx.scipy.sparse.csc_matrix] SKIPPED [ 41%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csr_matrix-cupyx.scipy.sparse.csc_matrix] SKIPPED [ 41%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_matrix-cupyx.scipy.sparse.csc_matrix] SKIPPED [ 41%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_array-cupyx.scipy.sparse.csc_matrix] SKIPPED [ 41%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_array-cupyx.scipy.sparse.csc_matrix] SKIPPED [ 41%] +tests/test_test_utils.py::test_conv_other[cupy.ndarray-cupyx.scipy.sparse.csc_matrix] SKIPPED [ 41%] +tests/test_test_utils.py::test_conv_other[numpy.ndarray-cupyx.scipy.sparse.csc_matrix] SKIPPED [ 41%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_matrix]-cupyx.scipy.sparse.csc_matrix] SKIPPED [ 41%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_matrix]-scipy.sparse.csc_matrix] PASSED [ 41%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_matrix]-cupyx.scipy.sparse.csr_matrix] SKIPPED [ 41%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_matrix]-scipy.sparse.csr_matrix] PASSED [ 41%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_matrix]-scipy.sparse.csc_array] PASSED [ 41%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_matrix]-scipy.sparse.csr_array] PASSED [ 41%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_matrix]-cupy.ndarray] SKIPPED [ 41%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_matrix]-numpy.ndarray] PASSED [ 41%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-None-2d-ax1-float32] PASSED [ 41%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-None-2d-ax1-float64] PASSED [ 41%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-None-2d-ax1-int32] PASSED [ 41%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-None-2d-ax1-bool] PASSED [ 42%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-None-2d-ax0-float32] PASSED [ 42%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-None-2d-ax0-float64] PASSED [ 42%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-None-2d-ax0-int32] PASSED [ 42%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-None-2d-ax0-bool] PASSED [ 42%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-None-2d-all-float32] PASSED [ 42%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-None-2d-all-float64] PASSED [ 42%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-None-2d-all-int32] PASSED [ 42%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-None-2d-all-bool] PASSED [ 42%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-None-1d-all-float32] SKIPPED [ 42%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-None-1d-all-float64] SKIPPED [ 42%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-None-1d-all-int32] SKIPPED [ 42%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-None-1d-all-bool] SKIPPED [ 42%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-int64-2d-ax1-float32] PASSED [ 42%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-int64-2d-ax1-float64] PASSED [ 42%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-int64-2d-ax1-int32] PASSED [ 42%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-int64-2d-ax1-bool] PASSED [ 42%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float64-2d-ax1-float32] PASSED [ 42%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float64-2d-ax1-float64] PASSED [ 42%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float64-2d-ax1-int32] PASSED [ 42%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float64-2d-ax1-bool] PASSED [ 42%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float32-2d-ax1-float32] PASSED [ 42%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float32-2d-ax1-float64] PASSED [ 42%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float32-2d-ax1-int32] PASSED [ 42%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float32-2d-ax1-bool] PASSED [ 42%] +tests/test_stats.py::test_sum_to_int[dask.array.Array[scipy.sparse.csc_matrix]-2d-ax1] PASSED [ 42%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csc_matrix]-2d-ax1-min] PASSED [ 42%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csc_matrix]-2d-ax1-max] PASSED [ 42%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_matrix]-2d-ax1-float32] PASSED [ 42%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_matrix]-2d-ax1-float64] PASSED [ 42%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_matrix]-2d-ax1-int32] PASSED [ 42%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_matrix]-2d-ax1-bool] PASSED [ 42%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_matrix]-2d-ax1-float32] PASSED [ 42%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_matrix]-2d-ax1-float64] PASSED [ 43%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_matrix]-2d-ax1-int32] PASSED [ 43%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_matrix]-2d-ax1-bool] PASSED [ 43%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-int64-2d-ax0-float32] PASSED [ 43%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-int64-2d-ax0-float64] PASSED [ 43%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-int64-2d-ax0-int32] PASSED [ 43%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-int64-2d-ax0-bool] PASSED [ 43%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-int64-2d-all-float32] PASSED [ 43%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-int64-2d-all-float64] PASSED [ 43%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-int64-2d-all-int32] PASSED [ 43%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-int64-2d-all-bool] PASSED [ 43%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-int64-1d-all-float32] SKIPPED [ 43%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-int64-1d-all-float64] SKIPPED [ 43%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-int64-1d-all-int32] SKIPPED [ 43%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-int64-1d-all-bool] SKIPPED [ 43%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float64-2d-ax0-float32] PASSED [ 43%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float64-2d-ax0-float64] PASSED [ 43%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float64-2d-ax0-int32] PASSED [ 43%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float64-2d-ax0-bool] PASSED [ 43%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float32-2d-ax0-float32] PASSED [ 43%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float32-2d-ax0-float64] PASSED [ 43%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float32-2d-ax0-int32] PASSED [ 43%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float32-2d-ax0-bool] PASSED [ 43%] +tests/test_stats.py::test_sum_to_int[dask.array.Array[scipy.sparse.csc_matrix]-2d-ax0] PASSED [ 43%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csc_matrix]-2d-ax0-min] PASSED [ 43%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csc_matrix]-2d-ax0-max] PASSED [ 43%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_matrix]-2d-ax0-float32] PASSED [ 43%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_matrix]-2d-ax0-float64] PASSED [ 43%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_matrix]-2d-ax0-int32] PASSED [ 43%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_matrix]-2d-ax0-bool] PASSED [ 43%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_matrix]-2d-ax0-float32] PASSED [ 43%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_matrix]-2d-ax0-float64] PASSED [ 43%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_matrix]-2d-ax0-int32] PASSED [ 43%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_matrix]-2d-ax0-bool] PASSED [ 44%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float64-2d-all-float32] PASSED [ 44%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float64-2d-all-float64] PASSED [ 44%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float64-2d-all-int32] PASSED [ 44%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float64-2d-all-bool] PASSED [ 44%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float64-1d-all-float32] SKIPPED [ 44%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float64-1d-all-float64] SKIPPED [ 44%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float64-1d-all-int32] SKIPPED [ 44%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float64-1d-all-bool] SKIPPED [ 44%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float32-2d-all-float32] PASSED [ 44%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float32-2d-all-float64] PASSED [ 44%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float32-2d-all-int32] PASSED [ 44%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float32-2d-all-bool] PASSED [ 44%] +tests/test_stats.py::test_sum_to_int[dask.array.Array[scipy.sparse.csc_matrix]-2d-all] PASSED [ 44%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csc_matrix]-2d-all-min] PASSED [ 44%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csc_matrix]-2d-all-max] PASSED [ 44%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_matrix]-2d-all-float32] PASSED [ 44%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_matrix]-2d-all-float64] PASSED [ 44%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_matrix]-2d-all-int32] PASSED [ 44%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_matrix]-2d-all-bool] PASSED [ 44%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_matrix]-2d-all-float32] PASSED [ 44%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_matrix]-2d-all-float64] PASSED [ 44%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_matrix]-2d-all-int32] PASSED [ 44%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_matrix]-2d-all-bool] PASSED [ 44%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float32-1d-all-float32] SKIPPED [ 44%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float32-1d-all-float64] SKIPPED [ 44%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float32-1d-all-int32] SKIPPED [ 44%] +tests/test_stats.py::test_sum[dask.array.Array[scipy.sparse.csc_matrix]-float32-1d-all-bool] SKIPPED [ 44%] +tests/test_stats.py::test_sum_to_int[dask.array.Array[scipy.sparse.csc_matrix]-1d-all] PASSED [ 44%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csc_matrix]-1d-all-min] PASSED [ 44%] +tests/test_stats.py::test_min_max[dask.array.Array[scipy.sparse.csc_matrix]-1d-all-max] PASSED [ 44%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_matrix]-1d-all-float32] SKIPPED [ 44%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_matrix]-1d-all-float64] SKIPPED [ 44%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_matrix]-1d-all-int32] SKIPPED [ 45%] +tests/test_stats.py::test_mean[dask.array.Array[scipy.sparse.csc_matrix]-1d-all-bool] SKIPPED [ 45%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_matrix]-1d-all-float32] SKIPPED [ 45%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_matrix]-1d-all-float64] SKIPPED [ 45%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_matrix]-1d-all-int32] SKIPPED [ 45%] +tests/test_stats.py::test_mean_var[dask.array.Array[scipy.sparse.csc_matrix]-1d-all-bool] SKIPPED [ 45%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_matrix]-0-3x2-sum] PASSED [ 45%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_matrix]-0-3x2-min] PASSED [ 45%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_matrix]-0-3x2-max] PASSED [ 45%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_matrix]-0-2x3-sum] PASSED [ 45%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_matrix]-0-2x3-min] PASSED [ 45%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_matrix]-0-2x3-max] PASSED [ 45%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_matrix]-0-2x2-sum] PASSED [ 45%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_matrix]-0-2x2-min] PASSED [ 45%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_matrix]-0-2x2-max] PASSED [ 45%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_matrix]-1-3x2-sum] PASSED [ 45%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_matrix]-1-3x2-min] PASSED [ 45%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_matrix]-1-3x2-max] PASSED [ 45%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_matrix]-1-2x3-sum] PASSED [ 45%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_matrix]-1-2x3-min] PASSED [ 45%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_matrix]-1-2x3-max] PASSED [ 45%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_matrix]-1-2x2-sum] PASSED [ 45%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_matrix]-1-2x2-min] PASSED [ 45%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[scipy.sparse.csc_matrix]-1-2x2-max] PASSED [ 45%] +tests/test_stats.py::test_mean_var_pbmc_dask[dask.array.Array[scipy.sparse.csc_matrix]] PASSED [ 45%] +tests/test_stats.py::test_is_constant[dask.array.Array[scipy.sparse.csc_matrix]-None] PASSED [ 45%] +tests/test_stats.py::test_is_constant[dask.array.Array[scipy.sparse.csc_matrix]-0] PASSED [ 45%] +tests/test_stats.py::test_is_constant[dask.array.Array[scipy.sparse.csc_matrix]-1] PASSED [ 45%] +tests/test_stats.py::test_dask_constant_blocks[dask.array.Array[scipy.sparse.csc_matrix]] PASSED [ 45%] +tests/test_test_utils.py::test_conv[dask.array.Array[scipy.sparse.csc_matrix]-float32] PASSED [ 45%] +tests/test_test_utils.py::test_conv[dask.array.Array[scipy.sparse.csc_matrix]-float64] PASSED [ 45%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_matrix]-dask.array.Array[numpy.ndarray]] PASSED [ 45%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-dask.array.Array[numpy.ndarray]] SKIPPED [ 45%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_matrix]-dask.array.Array[numpy.ndarray]] PASSED [ 46%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_array]-dask.array.Array[numpy.ndarray]] PASSED [ 46%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_array]-dask.array.Array[numpy.ndarray]] PASSED [ 46%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupy.ndarray]-dask.array.Array[numpy.ndarray]] SKIPPED [ 46%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[numpy.ndarray]-dask.array.Array[numpy.ndarray]] PASSED [ 46%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csc_matrix-dask.array.Array[numpy.ndarray]] SKIPPED [ 46%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_matrix-dask.array.Array[numpy.ndarray]] PASSED [ 46%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csr_matrix-dask.array.Array[numpy.ndarray]] SKIPPED [ 46%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_matrix-dask.array.Array[numpy.ndarray]] PASSED [ 46%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_array-dask.array.Array[numpy.ndarray]] PASSED [ 46%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_array-dask.array.Array[numpy.ndarray]] PASSED [ 46%] +tests/test_test_utils.py::test_conv_other[cupy.ndarray-dask.array.Array[numpy.ndarray]] SKIPPED [ 46%] +tests/test_test_utils.py::test_conv_other[numpy.ndarray-dask.array.Array[numpy.ndarray]] PASSED [ 46%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-dask.array.Array[numpy.ndarray]] SKIPPED [ 46%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-cupyx.scipy.sparse.csc_matrix] SKIPPED [ 46%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-scipy.sparse.csc_matrix] SKIPPED [ 46%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-cupyx.scipy.sparse.csr_matrix] SKIPPED [ 46%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-scipy.sparse.csr_matrix] SKIPPED [ 46%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-scipy.sparse.csc_array] SKIPPED [ 46%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-scipy.sparse.csr_array] SKIPPED [ 46%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-cupy.ndarray] SKIPPED [ 46%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-numpy.ndarray] SKIPPED [ 46%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-None-2d-ax1-float32] SKIPPED [ 46%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-None-2d-ax1-float64] SKIPPED [ 46%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-None-2d-ax1-int32] SKIPPED [ 46%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-None-2d-ax1-bool] SKIPPED [ 46%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-None-2d-ax0-float32] SKIPPED [ 46%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-None-2d-ax0-float64] SKIPPED [ 46%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-None-2d-ax0-int32] SKIPPED [ 46%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-None-2d-ax0-bool] SKIPPED [ 46%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-None-2d-all-float32] SKIPPED [ 46%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-None-2d-all-float64] SKIPPED [ 46%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-None-2d-all-int32] SKIPPED [ 46%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-None-2d-all-bool] SKIPPED [ 47%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-None-1d-all-float32] SKIPPED [ 47%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-None-1d-all-float64] SKIPPED [ 47%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-None-1d-all-int32] SKIPPED [ 47%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-None-1d-all-bool] SKIPPED [ 47%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-int64-2d-ax1-float32] SKIPPED [ 47%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-int64-2d-ax1-float64] SKIPPED [ 47%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-int64-2d-ax1-int32] SKIPPED [ 47%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-int64-2d-ax1-bool] SKIPPED [ 47%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float64-2d-ax1-float32] SKIPPED [ 47%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float64-2d-ax1-float64] SKIPPED [ 47%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float64-2d-ax1-int32] SKIPPED [ 47%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float64-2d-ax1-bool] SKIPPED [ 47%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float32-2d-ax1-float32] SKIPPED [ 47%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float32-2d-ax1-float64] SKIPPED [ 47%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float32-2d-ax1-int32] SKIPPED [ 47%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float32-2d-ax1-bool] SKIPPED [ 47%] +tests/test_stats.py::test_min_max[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-ax1-min] SKIPPED [ 47%] +tests/test_stats.py::test_min_max[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-ax1-max] SKIPPED [ 47%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-ax1-float32] SKIPPED [ 47%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-ax1-float64] SKIPPED [ 47%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-ax1-int32] SKIPPED [ 47%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-ax1-bool] SKIPPED [ 47%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-ax1-float32] SKIPPED [ 47%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-ax1-float64] SKIPPED [ 47%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-ax1-int32] SKIPPED [ 47%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-ax1-bool] SKIPPED [ 47%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-int64-2d-ax0-float32] SKIPPED [ 47%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-int64-2d-ax0-float64] SKIPPED [ 47%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-int64-2d-ax0-int32] SKIPPED [ 47%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-int64-2d-ax0-bool] SKIPPED [ 47%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-int64-2d-all-float32] SKIPPED [ 47%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-int64-2d-all-float64] SKIPPED [ 47%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-int64-2d-all-int32] SKIPPED [ 48%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-int64-2d-all-bool] SKIPPED [ 48%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-int64-1d-all-float32] SKIPPED [ 48%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-int64-1d-all-float64] SKIPPED [ 48%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-int64-1d-all-int32] SKIPPED [ 48%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-int64-1d-all-bool] SKIPPED [ 48%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float64-2d-ax0-float32] SKIPPED [ 48%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float64-2d-ax0-float64] SKIPPED [ 48%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float64-2d-ax0-int32] SKIPPED [ 48%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float64-2d-ax0-bool] SKIPPED [ 48%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float32-2d-ax0-float32] SKIPPED [ 48%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float32-2d-ax0-float64] SKIPPED [ 48%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float32-2d-ax0-int32] SKIPPED [ 48%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float32-2d-ax0-bool] SKIPPED [ 48%] +tests/test_stats.py::test_min_max[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-ax0-min] SKIPPED [ 48%] +tests/test_stats.py::test_min_max[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-ax0-max] SKIPPED [ 48%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-ax0-float32] SKIPPED [ 48%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-ax0-float64] SKIPPED [ 48%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-ax0-int32] SKIPPED [ 48%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-ax0-bool] SKIPPED [ 48%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-ax0-float32] SKIPPED [ 48%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-ax0-float64] SKIPPED [ 48%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-ax0-int32] SKIPPED [ 48%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-ax0-bool] SKIPPED [ 48%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float64-2d-all-float32] SKIPPED [ 48%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float64-2d-all-float64] SKIPPED [ 48%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float64-2d-all-int32] SKIPPED [ 48%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float64-2d-all-bool] SKIPPED [ 48%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float64-1d-all-float32] SKIPPED [ 48%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float64-1d-all-float64] SKIPPED [ 48%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float64-1d-all-int32] SKIPPED [ 48%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float64-1d-all-bool] SKIPPED [ 48%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float32-2d-all-float32] SKIPPED [ 48%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float32-2d-all-float64] SKIPPED [ 49%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float32-2d-all-int32] SKIPPED [ 49%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float32-2d-all-bool] SKIPPED [ 49%] +tests/test_stats.py::test_min_max[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-all-min] SKIPPED [ 49%] +tests/test_stats.py::test_min_max[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-all-max] SKIPPED [ 49%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-all-float32] SKIPPED [ 49%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-all-float64] SKIPPED [ 49%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-all-int32] SKIPPED [ 49%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-all-bool] SKIPPED [ 49%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-all-float32] SKIPPED [ 49%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-all-float64] SKIPPED [ 49%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-all-int32] SKIPPED [ 49%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-2d-all-bool] SKIPPED [ 49%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float32-1d-all-float32] SKIPPED [ 49%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float32-1d-all-float64] SKIPPED [ 49%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float32-1d-all-int32] SKIPPED [ 49%] +tests/test_stats.py::test_sum[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float32-1d-all-bool] SKIPPED [ 49%] +tests/test_stats.py::test_min_max[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-1d-all-min] SKIPPED [ 49%] +tests/test_stats.py::test_min_max[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-1d-all-max] SKIPPED [ 49%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-1d-all-float32] SKIPPED [ 49%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-1d-all-float64] SKIPPED [ 49%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-1d-all-int32] SKIPPED [ 49%] +tests/test_stats.py::test_mean[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-1d-all-bool] SKIPPED [ 49%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-1d-all-float32] SKIPPED [ 49%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-1d-all-float64] SKIPPED [ 49%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-1d-all-int32] SKIPPED [ 49%] +tests/test_stats.py::test_mean_var[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-1d-all-bool] SKIPPED [ 49%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-0-3x2-sum] SKIPPED [ 49%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-0-3x2-min] SKIPPED [ 49%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-0-3x2-max] SKIPPED [ 49%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-0-2x3-sum] SKIPPED [ 49%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-0-2x3-min] SKIPPED [ 49%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-0-2x3-max] SKIPPED [ 50%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-0-2x2-sum] SKIPPED [ 50%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-0-2x2-min] SKIPPED [ 50%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-0-2x2-max] SKIPPED [ 50%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-1-3x2-sum] SKIPPED [ 50%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-1-3x2-min] SKIPPED [ 50%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-1-3x2-max] SKIPPED [ 50%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-1-2x3-sum] SKIPPED [ 50%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-1-2x3-min] SKIPPED [ 50%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-1-2x3-max] SKIPPED [ 50%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-1-2x2-sum] SKIPPED [ 50%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-1-2x2-min] SKIPPED [ 50%] +tests/test_stats.py::test_dask_shapes[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-1-2x2-max] SKIPPED [ 50%] +tests/test_stats.py::test_mean_var_pbmc_dask[dask.array.Array[cupyx.scipy.sparse.csc_matrix]] SKIPPED [ 50%] +tests/test_test_utils.py::test_conv[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float32] SKIPPED [ 50%] +tests/test_test_utils.py::test_conv[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-float64] SKIPPED [ 50%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-dask.array.Array[cupy.ndarray]] SKIPPED [ 50%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_matrix]-dask.array.Array[cupy.ndarray]] SKIPPED [ 50%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-dask.array.Array[cupy.ndarray]] SKIPPED [ 50%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_matrix]-dask.array.Array[cupy.ndarray]] SKIPPED [ 50%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_array]-dask.array.Array[cupy.ndarray]] SKIPPED [ 50%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_array]-dask.array.Array[cupy.ndarray]] SKIPPED [ 50%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupy.ndarray]-dask.array.Array[cupy.ndarray]] SKIPPED [ 50%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[numpy.ndarray]-dask.array.Array[cupy.ndarray]] SKIPPED [ 50%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csc_matrix-dask.array.Array[cupy.ndarray]] SKIPPED [ 50%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_matrix-dask.array.Array[cupy.ndarray]] SKIPPED [ 50%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csr_matrix-dask.array.Array[cupy.ndarray]] SKIPPED [ 50%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_matrix-dask.array.Array[cupy.ndarray]] SKIPPED [ 50%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_array-dask.array.Array[cupy.ndarray]] SKIPPED [ 50%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_array-dask.array.Array[cupy.ndarray]] SKIPPED [ 50%] +tests/test_test_utils.py::test_conv_other[cupy.ndarray-dask.array.Array[cupy.ndarray]] SKIPPED [ 50%] +tests/test_test_utils.py::test_conv_other[numpy.ndarray-dask.array.Array[cupy.ndarray]] SKIPPED [ 50%] +tests/test_test_utils.py::test_conv_other[h5py.Dataset-dask.array.Array[cupy.ndarray]] SKIPPED [ 50%] +tests/test_test_utils.py::test_conv_other[h5py.Dataset-dask.array.Array[numpy.ndarray]] PASSED [ 51%] +tests/test_test_utils.py::test_conv_other[h5py.Dataset-cupyx.scipy.sparse.csc_matrix] SKIPPED [ 51%] +tests/test_test_utils.py::test_conv_other[h5py.Dataset-scipy.sparse.csc_matrix] PASSED [ 51%] +tests/test_test_utils.py::test_conv_other[h5py.Dataset-cupyx.scipy.sparse.csr_matrix] SKIPPED [ 51%] +tests/test_test_utils.py::test_conv_other[h5py.Dataset-scipy.sparse.csr_matrix] PASSED [ 51%] +tests/test_test_utils.py::test_conv_other[h5py.Dataset-scipy.sparse.csc_array] PASSED [ 51%] +tests/test_test_utils.py::test_conv_other[h5py.Dataset-scipy.sparse.csr_array] PASSED [ 51%] +tests/test_test_utils.py::test_conv_other[h5py.Dataset-cupy.ndarray] SKIPPED [ 51%] +tests/test_test_utils.py::test_conv_other[h5py.Dataset-numpy.ndarray] PASSED [ 51%] +tests/test_stats.py::test_sum[h5py.Dataset-None-2d-ax1-float32] PASSED [ 51%] +tests/test_stats.py::test_sum[h5py.Dataset-None-2d-ax1-float64] PASSED [ 51%] +tests/test_stats.py::test_sum[h5py.Dataset-None-2d-ax1-int32] PASSED [ 51%] +tests/test_stats.py::test_sum[h5py.Dataset-None-2d-ax1-bool] PASSED [ 51%] +tests/test_stats.py::test_sum[h5py.Dataset-None-2d-ax0-float32] PASSED [ 51%] +tests/test_stats.py::test_sum[h5py.Dataset-None-2d-ax0-float64] PASSED [ 51%] +tests/test_stats.py::test_sum[h5py.Dataset-None-2d-ax0-int32] PASSED [ 51%] +tests/test_stats.py::test_sum[h5py.Dataset-None-2d-ax0-bool] PASSED [ 51%] +tests/test_stats.py::test_sum[h5py.Dataset-None-2d-all-float32] PASSED [ 51%] +tests/test_stats.py::test_sum[h5py.Dataset-None-2d-all-float64] PASSED [ 51%] +tests/test_stats.py::test_sum[h5py.Dataset-None-2d-all-int32] PASSED [ 51%] +tests/test_stats.py::test_sum[h5py.Dataset-None-2d-all-bool] PASSED [ 51%] +tests/test_stats.py::test_sum[h5py.Dataset-None-1d-all-float32] PASSED [ 51%] +tests/test_stats.py::test_sum[h5py.Dataset-None-1d-all-float64] PASSED [ 51%] +tests/test_stats.py::test_sum[h5py.Dataset-None-1d-all-int32] PASSED [ 51%] +tests/test_stats.py::test_sum[h5py.Dataset-None-1d-all-bool] PASSED [ 51%] +tests/test_stats.py::test_sum[h5py.Dataset-int64-2d-ax1-float32] PASSED [ 51%] +tests/test_stats.py::test_sum[h5py.Dataset-int64-2d-ax1-float64] PASSED [ 51%] +tests/test_stats.py::test_sum[h5py.Dataset-int64-2d-ax1-int32] PASSED [ 51%] +tests/test_stats.py::test_sum[h5py.Dataset-int64-2d-ax1-bool] PASSED [ 51%] +tests/test_stats.py::test_sum[h5py.Dataset-float64-2d-ax1-float32] PASSED [ 51%] +tests/test_stats.py::test_sum[h5py.Dataset-float64-2d-ax1-float64] PASSED [ 51%] +tests/test_stats.py::test_sum[h5py.Dataset-float64-2d-ax1-int32] PASSED [ 51%] +tests/test_stats.py::test_sum[h5py.Dataset-float64-2d-ax1-bool] PASSED [ 51%] +tests/test_stats.py::test_sum[h5py.Dataset-float32-2d-ax1-float32] PASSED [ 52%] +tests/test_stats.py::test_sum[h5py.Dataset-float32-2d-ax1-float64] PASSED [ 52%] +tests/test_stats.py::test_sum[h5py.Dataset-float32-2d-ax1-int32] PASSED [ 52%] +tests/test_stats.py::test_sum[h5py.Dataset-float32-2d-ax1-bool] PASSED [ 52%] +tests/test_stats.py::test_sum_to_int[h5py.Dataset-2d-ax1] PASSED [ 52%] +tests/test_stats.py::test_min_max[h5py.Dataset-2d-ax1-min] PASSED [ 52%] +tests/test_stats.py::test_min_max[h5py.Dataset-2d-ax1-max] PASSED [ 52%] +tests/test_stats.py::test_mean[h5py.Dataset-2d-ax1-float32] PASSED [ 52%] +tests/test_stats.py::test_mean[h5py.Dataset-2d-ax1-float64] PASSED [ 52%] +tests/test_stats.py::test_mean[h5py.Dataset-2d-ax1-int32] PASSED [ 52%] +tests/test_stats.py::test_mean[h5py.Dataset-2d-ax1-bool] PASSED [ 52%] +tests/test_stats.py::test_sum[h5py.Dataset-int64-2d-ax0-float32] PASSED [ 52%] +tests/test_stats.py::test_sum[h5py.Dataset-int64-2d-ax0-float64] PASSED [ 52%] +tests/test_stats.py::test_sum[h5py.Dataset-int64-2d-ax0-int32] PASSED [ 52%] +tests/test_stats.py::test_sum[h5py.Dataset-int64-2d-ax0-bool] PASSED [ 52%] +tests/test_stats.py::test_sum[h5py.Dataset-int64-2d-all-float32] PASSED [ 52%] +tests/test_stats.py::test_sum[h5py.Dataset-int64-2d-all-float64] PASSED [ 52%] +tests/test_stats.py::test_sum[h5py.Dataset-int64-2d-all-int32] PASSED [ 52%] +tests/test_stats.py::test_sum[h5py.Dataset-int64-2d-all-bool] PASSED [ 52%] +tests/test_stats.py::test_sum[h5py.Dataset-int64-1d-all-float32] PASSED [ 52%] +tests/test_stats.py::test_sum[h5py.Dataset-int64-1d-all-float64] PASSED [ 52%] +tests/test_stats.py::test_sum[h5py.Dataset-int64-1d-all-int32] PASSED [ 52%] +tests/test_stats.py::test_sum[h5py.Dataset-int64-1d-all-bool] PASSED [ 52%] +tests/test_stats.py::test_sum[h5py.Dataset-float64-2d-ax0-float32] PASSED [ 52%] +tests/test_stats.py::test_sum[h5py.Dataset-float64-2d-ax0-float64] PASSED [ 52%] +tests/test_stats.py::test_sum[h5py.Dataset-float64-2d-ax0-int32] PASSED [ 52%] +tests/test_stats.py::test_sum[h5py.Dataset-float64-2d-ax0-bool] PASSED [ 52%] +tests/test_stats.py::test_sum[h5py.Dataset-float32-2d-ax0-float32] PASSED [ 52%] +tests/test_stats.py::test_sum[h5py.Dataset-float32-2d-ax0-float64] PASSED [ 52%] +tests/test_stats.py::test_sum[h5py.Dataset-float32-2d-ax0-int32] PASSED [ 52%] +tests/test_stats.py::test_sum[h5py.Dataset-float32-2d-ax0-bool] PASSED [ 52%] +tests/test_stats.py::test_sum_to_int[h5py.Dataset-2d-ax0] PASSED [ 52%] +tests/test_stats.py::test_min_max[h5py.Dataset-2d-ax0-min] PASSED [ 52%] +tests/test_stats.py::test_min_max[h5py.Dataset-2d-ax0-max] PASSED [ 53%] +tests/test_stats.py::test_mean[h5py.Dataset-2d-ax0-float32] PASSED [ 53%] +tests/test_stats.py::test_mean[h5py.Dataset-2d-ax0-float64] PASSED [ 53%] +tests/test_stats.py::test_mean[h5py.Dataset-2d-ax0-int32] PASSED [ 53%] +tests/test_stats.py::test_mean[h5py.Dataset-2d-ax0-bool] PASSED [ 53%] +tests/test_stats.py::test_sum[h5py.Dataset-float64-2d-all-float32] PASSED [ 53%] +tests/test_stats.py::test_sum[h5py.Dataset-float64-2d-all-float64] PASSED [ 53%] +tests/test_stats.py::test_sum[h5py.Dataset-float64-2d-all-int32] PASSED [ 53%] +tests/test_stats.py::test_sum[h5py.Dataset-float64-2d-all-bool] PASSED [ 53%] +tests/test_stats.py::test_sum[h5py.Dataset-float64-1d-all-float32] PASSED [ 53%] +tests/test_stats.py::test_sum[h5py.Dataset-float64-1d-all-float64] PASSED [ 53%] +tests/test_stats.py::test_sum[h5py.Dataset-float64-1d-all-int32] PASSED [ 53%] +tests/test_stats.py::test_sum[h5py.Dataset-float64-1d-all-bool] PASSED [ 53%] +tests/test_stats.py::test_sum[h5py.Dataset-float32-2d-all-float32] PASSED [ 53%] +tests/test_stats.py::test_sum[h5py.Dataset-float32-2d-all-float64] PASSED [ 53%] +tests/test_stats.py::test_sum[h5py.Dataset-float32-2d-all-int32] PASSED [ 53%] +tests/test_stats.py::test_sum[h5py.Dataset-float32-2d-all-bool] PASSED [ 53%] +tests/test_stats.py::test_sum_to_int[h5py.Dataset-2d-all] PASSED [ 53%] +tests/test_stats.py::test_min_max[h5py.Dataset-2d-all-min] PASSED [ 53%] +tests/test_stats.py::test_min_max[h5py.Dataset-2d-all-max] PASSED [ 53%] +tests/test_stats.py::test_mean[h5py.Dataset-2d-all-float32] PASSED [ 53%] +tests/test_stats.py::test_mean[h5py.Dataset-2d-all-float64] PASSED [ 53%] +tests/test_stats.py::test_mean[h5py.Dataset-2d-all-int32] PASSED [ 53%] +tests/test_stats.py::test_mean[h5py.Dataset-2d-all-bool] PASSED [ 53%] +tests/test_stats.py::test_sum[h5py.Dataset-float32-1d-all-float32] PASSED [ 53%] +tests/test_stats.py::test_sum[h5py.Dataset-float32-1d-all-float64] PASSED [ 53%] +tests/test_stats.py::test_sum[h5py.Dataset-float32-1d-all-int32] PASSED [ 53%] +tests/test_stats.py::test_sum[h5py.Dataset-float32-1d-all-bool] PASSED [ 53%] +tests/test_stats.py::test_sum_to_int[h5py.Dataset-1d-all] PASSED [ 53%] +tests/test_stats.py::test_min_max[h5py.Dataset-1d-all-min] PASSED [ 53%] +tests/test_stats.py::test_min_max[h5py.Dataset-1d-all-max] PASSED [ 53%] +tests/test_stats.py::test_mean[h5py.Dataset-1d-all-float32] PASSED [ 53%] +tests/test_stats.py::test_mean[h5py.Dataset-1d-all-float64] PASSED [ 53%] +tests/test_stats.py::test_mean[h5py.Dataset-1d-all-int32] PASSED [ 54%] +tests/test_stats.py::test_mean[h5py.Dataset-1d-all-bool] PASSED [ 54%] +tests/test_stats.py::test_ndim_error[h5py.Dataset-1d-ax0-sum] PASSED [ 54%] +tests/test_stats.py::test_ndim_error[h5py.Dataset-1d-ax0-min] PASSED [ 54%] +tests/test_stats.py::test_ndim_error[h5py.Dataset-1d-ax0-max] PASSED [ 54%] +tests/test_stats.py::test_ndim_error[h5py.Dataset-1d-ax0-mean] PASSED [ 54%] +tests/test_stats.py::test_ndim_error[h5py.Dataset-1d-ax0-mean_var] PASSED [ 54%] +tests/test_stats.py::test_ndim_error[h5py.Dataset-1d-ax0-is_constant] PASSED [ 54%] +tests/test_stats.py::test_ndim_error[h5py.Dataset-2d-ax3-sum] PASSED [ 54%] +tests/test_stats.py::test_ndim_error[h5py.Dataset-2d-ax3-min] PASSED [ 54%] +tests/test_stats.py::test_ndim_error[h5py.Dataset-2d-ax3-max] PASSED [ 54%] +tests/test_stats.py::test_ndim_error[h5py.Dataset-2d-ax3-mean] PASSED [ 54%] +tests/test_stats.py::test_ndim_error[h5py.Dataset-2d-ax3-mean_var] PASSED [ 54%] +tests/test_stats.py::test_ndim_error[h5py.Dataset-2d-ax3-is_constant] PASSED [ 54%] +tests/test_stats.py::test_ndim_error[h5py.Dataset-2d-axneg-sum] PASSED [ 54%] +tests/test_stats.py::test_ndim_error[h5py.Dataset-2d-axneg-min] PASSED [ 54%] +tests/test_stats.py::test_ndim_error[h5py.Dataset-2d-axneg-max] PASSED [ 54%] +tests/test_stats.py::test_ndim_error[h5py.Dataset-2d-axneg-mean] PASSED [ 54%] +tests/test_stats.py::test_ndim_error[h5py.Dataset-2d-axneg-mean_var] PASSED [ 54%] +tests/test_stats.py::test_ndim_error[h5py.Dataset-2d-axneg-is_constant] PASSED [ 54%] +tests/test_test_utils.py::test_conv[h5py.Dataset-float32] PASSED [ 54%] +tests/test_test_utils.py::test_conv[h5py.Dataset-float64] PASSED [ 54%] +tests/test_test_utils.py::test_conv_other[h5py.Dataset-dask.array.Array[scipy.sparse.csr_array]] PASSED [ 54%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-dask.array.Array[scipy.sparse.csr_array]] SKIPPED [ 54%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_matrix]-dask.array.Array[scipy.sparse.csr_array]] PASSED [ 54%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-dask.array.Array[scipy.sparse.csr_array]] SKIPPED [ 54%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_matrix]-dask.array.Array[scipy.sparse.csr_array]] PASSED [ 54%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_array]-dask.array.Array[scipy.sparse.csr_array]] PASSED [ 54%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_array]-dask.array.Array[scipy.sparse.csr_array]] PASSED [ 54%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupy.ndarray]-dask.array.Array[scipy.sparse.csr_array]] SKIPPED [ 54%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[numpy.ndarray]-dask.array.Array[scipy.sparse.csr_array]] PASSED [ 54%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csc_matrix-dask.array.Array[scipy.sparse.csr_array]] SKIPPED [ 54%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_matrix-dask.array.Array[scipy.sparse.csr_array]] PASSED [ 54%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csr_matrix-dask.array.Array[scipy.sparse.csr_array]] SKIPPED [ 55%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_matrix-dask.array.Array[scipy.sparse.csr_array]] PASSED [ 55%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_array-dask.array.Array[scipy.sparse.csr_array]] PASSED [ 55%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_array-dask.array.Array[scipy.sparse.csr_array]] PASSED [ 55%] +tests/test_test_utils.py::test_conv_other[cupy.ndarray-dask.array.Array[scipy.sparse.csr_array]] SKIPPED [ 55%] +tests/test_test_utils.py::test_conv_other[numpy.ndarray-dask.array.Array[scipy.sparse.csr_array]] PASSED [ 55%] +tests/test_test_utils.py::test_conv_other[zarr.Array-dask.array.Array[scipy.sparse.csr_array]] PASSED [ 55%] +tests/test_test_utils.py::test_conv_other[zarr.Array-dask.array.Array[cupy.ndarray]] SKIPPED [ 55%] +tests/test_test_utils.py::test_conv_other[zarr.Array-dask.array.Array[numpy.ndarray]] PASSED [ 55%] +tests/test_test_utils.py::test_conv_other[zarr.Array-cupyx.scipy.sparse.csc_matrix] SKIPPED [ 55%] +tests/test_test_utils.py::test_conv_other[zarr.Array-scipy.sparse.csc_matrix] PASSED [ 55%] +tests/test_test_utils.py::test_conv_other[zarr.Array-cupyx.scipy.sparse.csr_matrix] SKIPPED [ 55%] +tests/test_test_utils.py::test_conv_other[zarr.Array-scipy.sparse.csr_matrix] PASSED [ 55%] +tests/test_test_utils.py::test_conv_other[zarr.Array-scipy.sparse.csc_array] PASSED [ 55%] +tests/test_test_utils.py::test_conv_other[zarr.Array-scipy.sparse.csr_array] PASSED [ 55%] +tests/test_test_utils.py::test_conv_other[zarr.Array-cupy.ndarray] SKIPPED [ 55%] +tests/test_test_utils.py::test_conv_other[zarr.Array-numpy.ndarray] PASSED [ 55%] +tests/test_stats.py::test_sum[zarr.Array-None-2d-ax1-float32] PASSED [ 55%] +tests/test_stats.py::test_sum[zarr.Array-None-2d-ax1-float64] PASSED [ 55%] +tests/test_stats.py::test_sum[zarr.Array-None-2d-ax1-int32] PASSED [ 55%] +tests/test_stats.py::test_sum[zarr.Array-None-2d-ax1-bool] PASSED [ 55%] +tests/test_stats.py::test_sum[zarr.Array-None-2d-ax0-float32] PASSED [ 55%] +tests/test_stats.py::test_sum[zarr.Array-None-2d-ax0-float64] PASSED [ 55%] +tests/test_stats.py::test_sum[zarr.Array-None-2d-ax0-int32] PASSED [ 55%] +tests/test_stats.py::test_sum[zarr.Array-None-2d-ax0-bool] PASSED [ 55%] +tests/test_stats.py::test_sum[zarr.Array-None-2d-all-float32] PASSED [ 55%] +tests/test_stats.py::test_sum[zarr.Array-None-2d-all-float64] PASSED [ 55%] +tests/test_stats.py::test_sum[zarr.Array-None-2d-all-int32] PASSED [ 55%] +tests/test_stats.py::test_sum[zarr.Array-None-2d-all-bool] PASSED [ 55%] +tests/test_stats.py::test_sum[zarr.Array-None-1d-all-float32] PASSED [ 55%] +tests/test_stats.py::test_sum[zarr.Array-None-1d-all-float64] PASSED [ 55%] +tests/test_stats.py::test_sum[zarr.Array-None-1d-all-int32] PASSED [ 55%] +tests/test_stats.py::test_sum[zarr.Array-None-1d-all-bool] PASSED [ 55%] +tests/test_stats.py::test_sum[zarr.Array-int64-2d-ax1-float32] PASSED [ 56%] +tests/test_stats.py::test_sum[zarr.Array-int64-2d-ax1-float64] PASSED [ 56%] +tests/test_stats.py::test_sum[zarr.Array-int64-2d-ax1-int32] PASSED [ 56%] +tests/test_stats.py::test_sum[zarr.Array-int64-2d-ax1-bool] PASSED [ 56%] +tests/test_stats.py::test_sum[zarr.Array-float64-2d-ax1-float32] PASSED [ 56%] +tests/test_stats.py::test_sum[zarr.Array-float64-2d-ax1-float64] PASSED [ 56%] +tests/test_stats.py::test_sum[zarr.Array-float64-2d-ax1-int32] PASSED [ 56%] +tests/test_stats.py::test_sum[zarr.Array-float64-2d-ax1-bool] PASSED [ 56%] +tests/test_stats.py::test_sum[zarr.Array-float32-2d-ax1-float32] PASSED [ 56%] +tests/test_stats.py::test_sum[zarr.Array-float32-2d-ax1-float64] PASSED [ 56%] +tests/test_stats.py::test_sum[zarr.Array-float32-2d-ax1-int32] PASSED [ 56%] +tests/test_stats.py::test_sum[zarr.Array-float32-2d-ax1-bool] PASSED [ 56%] +tests/test_stats.py::test_sum_to_int[zarr.Array-2d-ax1] PASSED [ 56%] +tests/test_stats.py::test_min_max[zarr.Array-2d-ax1-min] PASSED [ 56%] +tests/test_stats.py::test_min_max[zarr.Array-2d-ax1-max] PASSED [ 56%] +tests/test_stats.py::test_mean[zarr.Array-2d-ax1-float32] PASSED [ 56%] +tests/test_stats.py::test_mean[zarr.Array-2d-ax1-float64] PASSED [ 56%] +tests/test_stats.py::test_mean[zarr.Array-2d-ax1-int32] PASSED [ 56%] +tests/test_stats.py::test_mean[zarr.Array-2d-ax1-bool] PASSED [ 56%] +tests/test_stats.py::test_sum[zarr.Array-int64-2d-ax0-float32] PASSED [ 56%] +tests/test_stats.py::test_sum[zarr.Array-int64-2d-ax0-float64] PASSED [ 56%] +tests/test_stats.py::test_sum[zarr.Array-int64-2d-ax0-int32] PASSED [ 56%] +tests/test_stats.py::test_sum[zarr.Array-int64-2d-ax0-bool] PASSED [ 56%] +tests/test_stats.py::test_sum[zarr.Array-int64-2d-all-float32] PASSED [ 56%] +tests/test_stats.py::test_sum[zarr.Array-int64-2d-all-float64] PASSED [ 56%] +tests/test_stats.py::test_sum[zarr.Array-int64-2d-all-int32] PASSED [ 56%] +tests/test_stats.py::test_sum[zarr.Array-int64-2d-all-bool] PASSED [ 56%] +tests/test_stats.py::test_sum[zarr.Array-int64-1d-all-float32] PASSED [ 56%] +tests/test_stats.py::test_sum[zarr.Array-int64-1d-all-float64] PASSED [ 56%] +tests/test_stats.py::test_sum[zarr.Array-int64-1d-all-int32] PASSED [ 56%] +tests/test_stats.py::test_sum[zarr.Array-int64-1d-all-bool] PASSED [ 56%] +tests/test_stats.py::test_sum[zarr.Array-float64-2d-ax0-float32] PASSED [ 56%] +tests/test_stats.py::test_sum[zarr.Array-float64-2d-ax0-float64] PASSED [ 56%] +tests/test_stats.py::test_sum[zarr.Array-float64-2d-ax0-int32] PASSED [ 57%] +tests/test_stats.py::test_sum[zarr.Array-float64-2d-ax0-bool] PASSED [ 57%] +tests/test_stats.py::test_sum[zarr.Array-float32-2d-ax0-float32] PASSED [ 57%] +tests/test_stats.py::test_sum[zarr.Array-float32-2d-ax0-float64] PASSED [ 57%] +tests/test_stats.py::test_sum[zarr.Array-float32-2d-ax0-int32] PASSED [ 57%] +tests/test_stats.py::test_sum[zarr.Array-float32-2d-ax0-bool] PASSED [ 57%] +tests/test_stats.py::test_sum_to_int[zarr.Array-2d-ax0] PASSED [ 57%] +tests/test_stats.py::test_min_max[zarr.Array-2d-ax0-min] PASSED [ 57%] +tests/test_stats.py::test_min_max[zarr.Array-2d-ax0-max] PASSED [ 57%] +tests/test_stats.py::test_mean[zarr.Array-2d-ax0-float32] PASSED [ 57%] +tests/test_stats.py::test_mean[zarr.Array-2d-ax0-float64] PASSED [ 57%] +tests/test_stats.py::test_mean[zarr.Array-2d-ax0-int32] PASSED [ 57%] +tests/test_stats.py::test_mean[zarr.Array-2d-ax0-bool] PASSED [ 57%] +tests/test_stats.py::test_sum[zarr.Array-float64-2d-all-float32] PASSED [ 57%] +tests/test_stats.py::test_sum[zarr.Array-float64-2d-all-float64] PASSED [ 57%] +tests/test_stats.py::test_sum[zarr.Array-float64-2d-all-int32] PASSED [ 57%] +tests/test_stats.py::test_sum[zarr.Array-float64-2d-all-bool] PASSED [ 57%] +tests/test_stats.py::test_sum[zarr.Array-float64-1d-all-float32] PASSED [ 57%] +tests/test_stats.py::test_sum[zarr.Array-float64-1d-all-float64] PASSED [ 57%] +tests/test_stats.py::test_sum[zarr.Array-float64-1d-all-int32] PASSED [ 57%] +tests/test_stats.py::test_sum[zarr.Array-float64-1d-all-bool] PASSED [ 57%] +tests/test_stats.py::test_sum[zarr.Array-float32-2d-all-float32] PASSED [ 57%] +tests/test_stats.py::test_sum[zarr.Array-float32-2d-all-float64] PASSED [ 57%] +tests/test_stats.py::test_sum[zarr.Array-float32-2d-all-int32] PASSED [ 57%] +tests/test_stats.py::test_sum[zarr.Array-float32-2d-all-bool] PASSED [ 57%] +tests/test_stats.py::test_sum_to_int[zarr.Array-2d-all] PASSED [ 57%] +tests/test_stats.py::test_min_max[zarr.Array-2d-all-min] PASSED [ 57%] +tests/test_stats.py::test_min_max[zarr.Array-2d-all-max] PASSED [ 57%] +tests/test_stats.py::test_mean[zarr.Array-2d-all-float32] PASSED [ 57%] +tests/test_stats.py::test_mean[zarr.Array-2d-all-float64] PASSED [ 57%] +tests/test_stats.py::test_mean[zarr.Array-2d-all-int32] PASSED [ 57%] +tests/test_stats.py::test_mean[zarr.Array-2d-all-bool] PASSED [ 57%] +tests/test_stats.py::test_sum[zarr.Array-float32-1d-all-float32] PASSED [ 57%] +tests/test_stats.py::test_sum[zarr.Array-float32-1d-all-float64] PASSED [ 58%] +tests/test_stats.py::test_sum[zarr.Array-float32-1d-all-int32] PASSED [ 58%] +tests/test_stats.py::test_sum[zarr.Array-float32-1d-all-bool] PASSED [ 58%] +tests/test_stats.py::test_sum_to_int[zarr.Array-1d-all] PASSED [ 58%] +tests/test_stats.py::test_min_max[zarr.Array-1d-all-min] PASSED [ 58%] +tests/test_stats.py::test_min_max[zarr.Array-1d-all-max] PASSED [ 58%] +tests/test_stats.py::test_mean[zarr.Array-1d-all-float32] PASSED [ 58%] +tests/test_stats.py::test_mean[zarr.Array-1d-all-float64] PASSED [ 58%] +tests/test_stats.py::test_mean[zarr.Array-1d-all-int32] PASSED [ 58%] +tests/test_stats.py::test_mean[zarr.Array-1d-all-bool] PASSED [ 58%] +tests/test_stats.py::test_ndim_error[zarr.Array-1d-ax0-sum] PASSED [ 58%] +tests/test_stats.py::test_ndim_error[zarr.Array-1d-ax0-min] PASSED [ 58%] +tests/test_stats.py::test_ndim_error[zarr.Array-1d-ax0-max] PASSED [ 58%] +tests/test_stats.py::test_ndim_error[zarr.Array-1d-ax0-mean] PASSED [ 58%] +tests/test_stats.py::test_ndim_error[zarr.Array-1d-ax0-mean_var] PASSED [ 58%] +tests/test_stats.py::test_ndim_error[zarr.Array-1d-ax0-is_constant] PASSED [ 58%] +tests/test_stats.py::test_ndim_error[zarr.Array-2d-ax3-sum] PASSED [ 58%] +tests/test_stats.py::test_ndim_error[zarr.Array-2d-ax3-min] PASSED [ 58%] +tests/test_stats.py::test_ndim_error[zarr.Array-2d-ax3-max] PASSED [ 58%] +tests/test_stats.py::test_ndim_error[zarr.Array-2d-ax3-mean] PASSED [ 58%] +tests/test_stats.py::test_ndim_error[zarr.Array-2d-ax3-mean_var] PASSED [ 58%] +tests/test_stats.py::test_ndim_error[zarr.Array-2d-ax3-is_constant] PASSED [ 58%] +tests/test_stats.py::test_ndim_error[zarr.Array-2d-axneg-sum] PASSED [ 58%] +tests/test_stats.py::test_ndim_error[zarr.Array-2d-axneg-min] PASSED [ 58%] +tests/test_stats.py::test_ndim_error[zarr.Array-2d-axneg-max] PASSED [ 58%] +tests/test_stats.py::test_ndim_error[zarr.Array-2d-axneg-mean] PASSED [ 58%] +tests/test_stats.py::test_ndim_error[zarr.Array-2d-axneg-mean_var] PASSED [ 58%] +tests/test_stats.py::test_ndim_error[zarr.Array-2d-axneg-is_constant] PASSED [ 58%] +tests/test_test_utils.py::test_conv[zarr.Array-float32] PASSED [ 58%] +tests/test_test_utils.py::test_conv[zarr.Array-float64] PASSED [ 58%] +tests/test_test_utils.py::test_conv_other[zarr.Array-dask.array.Array[scipy.sparse.csc_array]] PASSED [ 58%] +tests/test_test_utils.py::test_conv_other[h5py.Dataset-dask.array.Array[scipy.sparse.csc_array]] PASSED [ 58%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-dask.array.Array[scipy.sparse.csc_array]] SKIPPED [ 58%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_matrix]-dask.array.Array[scipy.sparse.csc_array]] PASSED [ 59%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-dask.array.Array[scipy.sparse.csc_array]] SKIPPED [ 59%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_matrix]-dask.array.Array[scipy.sparse.csc_array]] PASSED [ 59%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_array]-dask.array.Array[scipy.sparse.csc_array]] PASSED [ 59%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_array]-dask.array.Array[scipy.sparse.csc_array]] PASSED [ 59%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupy.ndarray]-dask.array.Array[scipy.sparse.csc_array]] SKIPPED [ 59%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[numpy.ndarray]-dask.array.Array[scipy.sparse.csc_array]] PASSED [ 59%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csc_matrix-dask.array.Array[scipy.sparse.csc_array]] SKIPPED [ 59%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_matrix-dask.array.Array[scipy.sparse.csc_array]] PASSED [ 59%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csr_matrix-dask.array.Array[scipy.sparse.csc_array]] SKIPPED [ 59%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_matrix-dask.array.Array[scipy.sparse.csc_array]] PASSED [ 59%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_array-dask.array.Array[scipy.sparse.csc_array]] PASSED [ 59%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_array-dask.array.Array[scipy.sparse.csc_array]] PASSED [ 59%] +tests/test_test_utils.py::test_conv_other[cupy.ndarray-dask.array.Array[scipy.sparse.csc_array]] SKIPPED [ 59%] +tests/test_test_utils.py::test_conv_other[numpy.ndarray-dask.array.Array[scipy.sparse.csc_array]] PASSED [ 59%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[h5py.Dataset]-dask.array.Array[scipy.sparse.csc_array]] PASSED [ 59%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[h5py.Dataset]-dask.array.Array[scipy.sparse.csr_array]] PASSED [ 59%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[h5py.Dataset]-dask.array.Array[cupy.ndarray]] SKIPPED [ 59%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[h5py.Dataset]-dask.array.Array[numpy.ndarray]] PASSED [ 59%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[h5py.Dataset]-cupyx.scipy.sparse.csc_matrix] SKIPPED [ 59%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[h5py.Dataset]-scipy.sparse.csc_matrix] PASSED [ 59%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[h5py.Dataset]-cupyx.scipy.sparse.csr_matrix] SKIPPED [ 59%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[h5py.Dataset]-scipy.sparse.csr_matrix] PASSED [ 59%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[h5py.Dataset]-scipy.sparse.csc_array] PASSED [ 59%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[h5py.Dataset]-scipy.sparse.csr_array] PASSED [ 59%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[h5py.Dataset]-cupy.ndarray] SKIPPED [ 59%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[h5py.Dataset]-numpy.ndarray] PASSED [ 59%] +tests/test_test_utils.py::test_conv[anndata.abc.CSRDataset[h5py.Dataset]-float32] PASSED [ 59%] +tests/test_test_utils.py::test_conv[anndata.abc.CSRDataset[h5py.Dataset]-float64] PASSED [ 59%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[h5py.Dataset]-dask.array.Array[scipy.sparse.csr_matrix]] PASSED [ 59%] +tests/test_test_utils.py::test_conv_other[zarr.Array-dask.array.Array[scipy.sparse.csr_matrix]] PASSED [ 59%] +tests/test_test_utils.py::test_conv_other[h5py.Dataset-dask.array.Array[scipy.sparse.csr_matrix]] PASSED [ 59%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-dask.array.Array[scipy.sparse.csr_matrix]] SKIPPED [ 59%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_matrix]-dask.array.Array[scipy.sparse.csr_matrix]] PASSED [ 60%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-dask.array.Array[scipy.sparse.csr_matrix]] SKIPPED [ 60%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_matrix]-dask.array.Array[scipy.sparse.csr_matrix]] PASSED [ 60%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_array]-dask.array.Array[scipy.sparse.csr_matrix]] PASSED [ 60%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_array]-dask.array.Array[scipy.sparse.csr_matrix]] PASSED [ 60%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupy.ndarray]-dask.array.Array[scipy.sparse.csr_matrix]] SKIPPED [ 60%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[numpy.ndarray]-dask.array.Array[scipy.sparse.csr_matrix]] PASSED [ 60%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csc_matrix-dask.array.Array[scipy.sparse.csr_matrix]] SKIPPED [ 60%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_matrix-dask.array.Array[scipy.sparse.csr_matrix]] PASSED [ 60%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csr_matrix-dask.array.Array[scipy.sparse.csr_matrix]] SKIPPED [ 60%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_matrix-dask.array.Array[scipy.sparse.csr_matrix]] PASSED [ 60%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_array-dask.array.Array[scipy.sparse.csr_matrix]] PASSED [ 60%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_array-dask.array.Array[scipy.sparse.csr_matrix]] PASSED [ 60%] +tests/test_test_utils.py::test_conv_other[cupy.ndarray-dask.array.Array[scipy.sparse.csr_matrix]] SKIPPED [ 60%] +tests/test_test_utils.py::test_conv_other[numpy.ndarray-dask.array.Array[scipy.sparse.csr_matrix]] PASSED [ 60%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[h5py.Dataset]-dask.array.Array[scipy.sparse.csr_matrix]] PASSED [ 60%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[h5py.Dataset]-dask.array.Array[scipy.sparse.csc_array]] PASSED [ 60%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[h5py.Dataset]-dask.array.Array[scipy.sparse.csr_array]] PASSED [ 60%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[h5py.Dataset]-dask.array.Array[cupy.ndarray]] SKIPPED [ 60%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[h5py.Dataset]-dask.array.Array[numpy.ndarray]] PASSED [ 60%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[h5py.Dataset]-cupyx.scipy.sparse.csc_matrix] SKIPPED [ 60%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[h5py.Dataset]-scipy.sparse.csc_matrix] PASSED [ 60%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[h5py.Dataset]-cupyx.scipy.sparse.csr_matrix] SKIPPED [ 60%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[h5py.Dataset]-scipy.sparse.csr_matrix] PASSED [ 60%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[h5py.Dataset]-scipy.sparse.csc_array] PASSED [ 60%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[h5py.Dataset]-scipy.sparse.csr_array] PASSED [ 60%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[h5py.Dataset]-cupy.ndarray] SKIPPED [ 60%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[h5py.Dataset]-numpy.ndarray] PASSED [ 60%] +tests/test_test_utils.py::test_conv[anndata.abc.CSCDataset[h5py.Dataset]-float32] PASSED [ 60%] +tests/test_test_utils.py::test_conv[anndata.abc.CSCDataset[h5py.Dataset]-float64] PASSED [ 60%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[h5py.Dataset]-dask.array.Array[cupyx.scipy.sparse.csr_matrix]] SKIPPED [ 60%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[h5py.Dataset]-dask.array.Array[cupyx.scipy.sparse.csr_matrix]] SKIPPED [ 60%] +tests/test_test_utils.py::test_conv_other[zarr.Array-dask.array.Array[cupyx.scipy.sparse.csr_matrix]] SKIPPED [ 60%] +tests/test_test_utils.py::test_conv_other[h5py.Dataset-dask.array.Array[cupyx.scipy.sparse.csr_matrix]] SKIPPED [ 61%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-dask.array.Array[cupyx.scipy.sparse.csr_matrix]] SKIPPED [ 61%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_matrix]-dask.array.Array[cupyx.scipy.sparse.csr_matrix]] SKIPPED [ 61%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-dask.array.Array[cupyx.scipy.sparse.csr_matrix]] SKIPPED [ 61%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_matrix]-dask.array.Array[cupyx.scipy.sparse.csr_matrix]] SKIPPED [ 61%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_array]-dask.array.Array[cupyx.scipy.sparse.csr_matrix]] SKIPPED [ 61%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_array]-dask.array.Array[cupyx.scipy.sparse.csr_matrix]] SKIPPED [ 61%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupy.ndarray]-dask.array.Array[cupyx.scipy.sparse.csr_matrix]] SKIPPED [ 61%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[numpy.ndarray]-dask.array.Array[cupyx.scipy.sparse.csr_matrix]] SKIPPED [ 61%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csc_matrix-dask.array.Array[cupyx.scipy.sparse.csr_matrix]] SKIPPED [ 61%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_matrix-dask.array.Array[cupyx.scipy.sparse.csr_matrix]] SKIPPED [ 61%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csr_matrix-dask.array.Array[cupyx.scipy.sparse.csr_matrix]] SKIPPED [ 61%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_matrix-dask.array.Array[cupyx.scipy.sparse.csr_matrix]] SKIPPED [ 61%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_array-dask.array.Array[cupyx.scipy.sparse.csr_matrix]] SKIPPED [ 61%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_array-dask.array.Array[cupyx.scipy.sparse.csr_matrix]] SKIPPED [ 61%] +tests/test_test_utils.py::test_conv_other[cupy.ndarray-dask.array.Array[cupyx.scipy.sparse.csr_matrix]] SKIPPED [ 61%] +tests/test_test_utils.py::test_conv_other[numpy.ndarray-dask.array.Array[cupyx.scipy.sparse.csr_matrix]] SKIPPED [ 61%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[zarr.Array]-dask.array.Array[cupyx.scipy.sparse.csr_matrix]] SKIPPED [ 61%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[zarr.Array]-dask.array.Array[scipy.sparse.csr_matrix]] PASSED [ 61%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[zarr.Array]-dask.array.Array[scipy.sparse.csc_array]] PASSED [ 61%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[zarr.Array]-dask.array.Array[scipy.sparse.csr_array]] PASSED [ 61%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[zarr.Array]-dask.array.Array[cupy.ndarray]] SKIPPED [ 61%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[zarr.Array]-dask.array.Array[numpy.ndarray]] PASSED [ 61%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[zarr.Array]-cupyx.scipy.sparse.csc_matrix] SKIPPED [ 61%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[zarr.Array]-scipy.sparse.csc_matrix] PASSED [ 61%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[zarr.Array]-cupyx.scipy.sparse.csr_matrix] SKIPPED [ 61%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[zarr.Array]-scipy.sparse.csr_matrix] PASSED [ 61%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[zarr.Array]-scipy.sparse.csc_array] PASSED [ 61%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[zarr.Array]-scipy.sparse.csr_array] PASSED [ 61%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[zarr.Array]-cupy.ndarray] SKIPPED [ 61%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[zarr.Array]-numpy.ndarray] PASSED [ 61%] +tests/test_test_utils.py::test_conv[anndata.abc.CSRDataset[zarr.Array]-float32] PASSED [ 61%] +tests/test_test_utils.py::test_conv[anndata.abc.CSRDataset[zarr.Array]-float64] PASSED [ 61%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[zarr.Array]-dask.array.Array[scipy.sparse.csc_matrix]] PASSED [ 62%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[h5py.Dataset]-dask.array.Array[scipy.sparse.csc_matrix]] PASSED [ 62%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[h5py.Dataset]-dask.array.Array[scipy.sparse.csc_matrix]] PASSED [ 62%] +tests/test_test_utils.py::test_conv_other[zarr.Array-dask.array.Array[scipy.sparse.csc_matrix]] PASSED [ 62%] +tests/test_test_utils.py::test_conv_other[h5py.Dataset-dask.array.Array[scipy.sparse.csc_matrix]] PASSED [ 62%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-dask.array.Array[scipy.sparse.csc_matrix]] SKIPPED [ 62%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_matrix]-dask.array.Array[scipy.sparse.csc_matrix]] PASSED [ 62%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-dask.array.Array[scipy.sparse.csc_matrix]] SKIPPED [ 62%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_matrix]-dask.array.Array[scipy.sparse.csc_matrix]] PASSED [ 62%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_array]-dask.array.Array[scipy.sparse.csc_matrix]] PASSED [ 62%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_array]-dask.array.Array[scipy.sparse.csc_matrix]] PASSED [ 62%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupy.ndarray]-dask.array.Array[scipy.sparse.csc_matrix]] SKIPPED [ 62%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[numpy.ndarray]-dask.array.Array[scipy.sparse.csc_matrix]] PASSED [ 62%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csc_matrix-dask.array.Array[scipy.sparse.csc_matrix]] SKIPPED [ 62%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_matrix-dask.array.Array[scipy.sparse.csc_matrix]] PASSED [ 62%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csr_matrix-dask.array.Array[scipy.sparse.csc_matrix]] SKIPPED [ 62%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_matrix-dask.array.Array[scipy.sparse.csc_matrix]] PASSED [ 62%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_array-dask.array.Array[scipy.sparse.csc_matrix]] PASSED [ 62%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_array-dask.array.Array[scipy.sparse.csc_matrix]] PASSED [ 62%] +tests/test_test_utils.py::test_conv_other[cupy.ndarray-dask.array.Array[scipy.sparse.csc_matrix]] SKIPPED [ 62%] +tests/test_test_utils.py::test_conv_other[numpy.ndarray-dask.array.Array[scipy.sparse.csc_matrix]] PASSED [ 62%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[zarr.Array]-dask.array.Array[scipy.sparse.csc_matrix]] PASSED [ 62%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[zarr.Array]-dask.array.Array[cupyx.scipy.sparse.csr_matrix]] SKIPPED [ 62%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[zarr.Array]-dask.array.Array[scipy.sparse.csr_matrix]] PASSED [ 62%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[zarr.Array]-dask.array.Array[scipy.sparse.csc_array]] PASSED [ 62%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[zarr.Array]-dask.array.Array[scipy.sparse.csr_array]] PASSED [ 62%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[zarr.Array]-dask.array.Array[cupy.ndarray]] SKIPPED [ 62%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[zarr.Array]-dask.array.Array[numpy.ndarray]] PASSED [ 62%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[zarr.Array]-cupyx.scipy.sparse.csc_matrix] SKIPPED [ 62%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[zarr.Array]-scipy.sparse.csc_matrix] PASSED [ 62%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[zarr.Array]-cupyx.scipy.sparse.csr_matrix] SKIPPED [ 62%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[zarr.Array]-scipy.sparse.csr_matrix] PASSED [ 62%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[zarr.Array]-scipy.sparse.csc_array] PASSED [ 62%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[zarr.Array]-scipy.sparse.csr_array] PASSED [ 63%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[zarr.Array]-cupy.ndarray] SKIPPED [ 63%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[zarr.Array]-numpy.ndarray] PASSED [ 63%] +tests/test_test_utils.py::test_conv[anndata.abc.CSCDataset[zarr.Array]-float32] PASSED [ 63%] +tests/test_test_utils.py::test_conv[anndata.abc.CSCDataset[zarr.Array]-float64] PASSED [ 63%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[zarr.Array]-dask.array.Array[cupyx.scipy.sparse.csc_matrix]] SKIPPED [ 63%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[zarr.Array]-dask.array.Array[cupyx.scipy.sparse.csc_matrix]] SKIPPED [ 63%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[h5py.Dataset]-dask.array.Array[cupyx.scipy.sparse.csc_matrix]] SKIPPED [ 63%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[h5py.Dataset]-dask.array.Array[cupyx.scipy.sparse.csc_matrix]] SKIPPED [ 63%] +tests/test_test_utils.py::test_conv_other[zarr.Array-dask.array.Array[cupyx.scipy.sparse.csc_matrix]] SKIPPED [ 63%] +tests/test_test_utils.py::test_conv_other[h5py.Dataset-dask.array.Array[cupyx.scipy.sparse.csc_matrix]] SKIPPED [ 63%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-dask.array.Array[cupyx.scipy.sparse.csc_matrix]] SKIPPED [ 63%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_matrix]-dask.array.Array[cupyx.scipy.sparse.csc_matrix]] SKIPPED [ 63%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-dask.array.Array[cupyx.scipy.sparse.csc_matrix]] SKIPPED [ 63%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_matrix]-dask.array.Array[cupyx.scipy.sparse.csc_matrix]] SKIPPED [ 63%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_array]-dask.array.Array[cupyx.scipy.sparse.csc_matrix]] SKIPPED [ 63%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_array]-dask.array.Array[cupyx.scipy.sparse.csc_matrix]] SKIPPED [ 63%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupy.ndarray]-dask.array.Array[cupyx.scipy.sparse.csc_matrix]] SKIPPED [ 63%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[numpy.ndarray]-dask.array.Array[cupyx.scipy.sparse.csc_matrix]] SKIPPED [ 63%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csc_matrix-dask.array.Array[cupyx.scipy.sparse.csc_matrix]] SKIPPED [ 63%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_matrix-dask.array.Array[cupyx.scipy.sparse.csc_matrix]] SKIPPED [ 63%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csr_matrix-dask.array.Array[cupyx.scipy.sparse.csc_matrix]] SKIPPED [ 63%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_matrix-dask.array.Array[cupyx.scipy.sparse.csc_matrix]] SKIPPED [ 63%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_array-dask.array.Array[cupyx.scipy.sparse.csc_matrix]] SKIPPED [ 63%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_array-dask.array.Array[cupyx.scipy.sparse.csc_matrix]] SKIPPED [ 63%] +tests/test_test_utils.py::test_conv_other[cupy.ndarray-dask.array.Array[cupyx.scipy.sparse.csc_matrix]] SKIPPED [ 63%] +tests/test_test_utils.py::test_conv_other[numpy.ndarray-dask.array.Array[cupyx.scipy.sparse.csc_matrix]] SKIPPED [ 63%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[zarr.Array]-h5py.Dataset] PASSED [ 63%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[zarr.Array]-h5py.Dataset] PASSED [ 63%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[h5py.Dataset]-h5py.Dataset] PASSED [ 63%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[h5py.Dataset]-h5py.Dataset] PASSED [ 63%] +tests/test_test_utils.py::test_conv_other[zarr.Array-h5py.Dataset] PASSED [ 63%] +tests/test_test_utils.py::test_conv_other[h5py.Dataset-h5py.Dataset] PASSED [ 63%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-h5py.Dataset] SKIPPED [ 64%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_matrix]-h5py.Dataset] PASSED [ 64%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-h5py.Dataset] SKIPPED [ 64%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_matrix]-h5py.Dataset] PASSED [ 64%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_array]-h5py.Dataset] PASSED [ 64%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_array]-h5py.Dataset] PASSED [ 64%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupy.ndarray]-h5py.Dataset] SKIPPED [ 64%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[numpy.ndarray]-h5py.Dataset] PASSED [ 64%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csc_matrix-h5py.Dataset] SKIPPED [ 64%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_matrix-h5py.Dataset] PASSED [ 64%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csr_matrix-h5py.Dataset] SKIPPED [ 64%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_matrix-h5py.Dataset] PASSED [ 64%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_array-h5py.Dataset] PASSED [ 64%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_array-h5py.Dataset] PASSED [ 64%] +tests/test_test_utils.py::test_conv_other[cupy.ndarray-h5py.Dataset] SKIPPED [ 64%] +tests/test_test_utils.py::test_conv_other[numpy.ndarray-h5py.Dataset] PASSED [ 64%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[zarr.Array]-zarr.Array] PASSED [ 64%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[zarr.Array]-zarr.Array] PASSED [ 64%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[h5py.Dataset]-zarr.Array] PASSED [ 64%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[h5py.Dataset]-zarr.Array] PASSED [ 64%] +tests/test_test_utils.py::test_conv_other[zarr.Array-zarr.Array] PASSED [ 64%] +tests/test_test_utils.py::test_conv_other[h5py.Dataset-zarr.Array] PASSED [ 64%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-zarr.Array] SKIPPED [ 64%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_matrix]-zarr.Array] PASSED [ 64%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-zarr.Array] SKIPPED [ 64%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_matrix]-zarr.Array] PASSED [ 64%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_array]-zarr.Array] PASSED [ 64%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_array]-zarr.Array] PASSED [ 64%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupy.ndarray]-zarr.Array] SKIPPED [ 64%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[numpy.ndarray]-zarr.Array] PASSED [ 64%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csc_matrix-zarr.Array] SKIPPED [ 64%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_matrix-zarr.Array] PASSED [ 64%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csr_matrix-zarr.Array] SKIPPED [ 64%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_matrix-zarr.Array] PASSED [ 65%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_array-zarr.Array] PASSED [ 65%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_array-zarr.Array] PASSED [ 65%] +tests/test_test_utils.py::test_conv_other[cupy.ndarray-zarr.Array] SKIPPED [ 65%] +tests/test_test_utils.py::test_conv_other[numpy.ndarray-zarr.Array] PASSED [ 65%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[zarr.Array]-anndata.abc.CSRDataset[h5py.Dataset]] PASSED [ 65%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[zarr.Array]-anndata.abc.CSRDataset[h5py.Dataset]] PASSED [ 65%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[h5py.Dataset]-anndata.abc.CSRDataset[h5py.Dataset]] PASSED [ 65%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[h5py.Dataset]-anndata.abc.CSRDataset[h5py.Dataset]] PASSED [ 65%] +tests/test_test_utils.py::test_conv_other[zarr.Array-anndata.abc.CSRDataset[h5py.Dataset]] PASSED [ 65%] +tests/test_test_utils.py::test_conv_other[h5py.Dataset-anndata.abc.CSRDataset[h5py.Dataset]] PASSED [ 65%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-anndata.abc.CSRDataset[h5py.Dataset]] SKIPPED [ 65%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_matrix]-anndata.abc.CSRDataset[h5py.Dataset]] PASSED [ 65%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-anndata.abc.CSRDataset[h5py.Dataset]] SKIPPED [ 65%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_matrix]-anndata.abc.CSRDataset[h5py.Dataset]] PASSED [ 65%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_array]-anndata.abc.CSRDataset[h5py.Dataset]] PASSED [ 65%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_array]-anndata.abc.CSRDataset[h5py.Dataset]] PASSED [ 65%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupy.ndarray]-anndata.abc.CSRDataset[h5py.Dataset]] SKIPPED [ 65%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[numpy.ndarray]-anndata.abc.CSRDataset[h5py.Dataset]] PASSED [ 65%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csc_matrix-anndata.abc.CSRDataset[h5py.Dataset]] SKIPPED [ 65%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_matrix-anndata.abc.CSRDataset[h5py.Dataset]] PASSED [ 65%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csr_matrix-anndata.abc.CSRDataset[h5py.Dataset]] SKIPPED [ 65%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_matrix-anndata.abc.CSRDataset[h5py.Dataset]] PASSED [ 65%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_array-anndata.abc.CSRDataset[h5py.Dataset]] PASSED [ 65%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_array-anndata.abc.CSRDataset[h5py.Dataset]] PASSED [ 65%] +tests/test_test_utils.py::test_conv_other[cupy.ndarray-anndata.abc.CSRDataset[h5py.Dataset]] SKIPPED [ 65%] +tests/test_test_utils.py::test_conv_other[numpy.ndarray-anndata.abc.CSRDataset[h5py.Dataset]] PASSED [ 65%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[zarr.Array]-anndata.abc.CSCDataset[h5py.Dataset]] PASSED [ 65%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[zarr.Array]-anndata.abc.CSCDataset[h5py.Dataset]] PASSED [ 65%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[h5py.Dataset]-anndata.abc.CSCDataset[h5py.Dataset]] PASSED [ 65%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[h5py.Dataset]-anndata.abc.CSCDataset[h5py.Dataset]] PASSED [ 65%] +tests/test_test_utils.py::test_conv_other[zarr.Array-anndata.abc.CSCDataset[h5py.Dataset]] PASSED [ 65%] +tests/test_test_utils.py::test_conv_other[h5py.Dataset-anndata.abc.CSCDataset[h5py.Dataset]] PASSED [ 65%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-anndata.abc.CSCDataset[h5py.Dataset]] SKIPPED [ 66%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_matrix]-anndata.abc.CSCDataset[h5py.Dataset]] PASSED [ 66%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-anndata.abc.CSCDataset[h5py.Dataset]] SKIPPED [ 66%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_matrix]-anndata.abc.CSCDataset[h5py.Dataset]] PASSED [ 66%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_array]-anndata.abc.CSCDataset[h5py.Dataset]] PASSED [ 66%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_array]-anndata.abc.CSCDataset[h5py.Dataset]] PASSED [ 66%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupy.ndarray]-anndata.abc.CSCDataset[h5py.Dataset]] SKIPPED [ 66%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[numpy.ndarray]-anndata.abc.CSCDataset[h5py.Dataset]] PASSED [ 66%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csc_matrix-anndata.abc.CSCDataset[h5py.Dataset]] SKIPPED [ 66%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_matrix-anndata.abc.CSCDataset[h5py.Dataset]] PASSED [ 66%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csr_matrix-anndata.abc.CSCDataset[h5py.Dataset]] SKIPPED [ 66%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_matrix-anndata.abc.CSCDataset[h5py.Dataset]] PASSED [ 66%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_array-anndata.abc.CSCDataset[h5py.Dataset]] PASSED [ 66%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_array-anndata.abc.CSCDataset[h5py.Dataset]] PASSED [ 66%] +tests/test_test_utils.py::test_conv_other[cupy.ndarray-anndata.abc.CSCDataset[h5py.Dataset]] SKIPPED [ 66%] +tests/test_test_utils.py::test_conv_other[numpy.ndarray-anndata.abc.CSCDataset[h5py.Dataset]] PASSED [ 66%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[zarr.Array]-anndata.abc.CSRDataset[zarr.Array]] PASSED [ 66%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[zarr.Array]-anndata.abc.CSRDataset[zarr.Array]] PASSED [ 66%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[h5py.Dataset]-anndata.abc.CSRDataset[zarr.Array]] PASSED [ 66%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[h5py.Dataset]-anndata.abc.CSRDataset[zarr.Array]] PASSED [ 66%] +tests/test_test_utils.py::test_conv_other[zarr.Array-anndata.abc.CSRDataset[zarr.Array]] PASSED [ 66%] +tests/test_test_utils.py::test_conv_other[h5py.Dataset-anndata.abc.CSRDataset[zarr.Array]] PASSED [ 66%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-anndata.abc.CSRDataset[zarr.Array]] SKIPPED [ 66%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_matrix]-anndata.abc.CSRDataset[zarr.Array]] PASSED [ 66%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-anndata.abc.CSRDataset[zarr.Array]] SKIPPED [ 66%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_matrix]-anndata.abc.CSRDataset[zarr.Array]] PASSED [ 66%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_array]-anndata.abc.CSRDataset[zarr.Array]] PASSED [ 66%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_array]-anndata.abc.CSRDataset[zarr.Array]] PASSED [ 66%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupy.ndarray]-anndata.abc.CSRDataset[zarr.Array]] SKIPPED [ 66%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[numpy.ndarray]-anndata.abc.CSRDataset[zarr.Array]] PASSED [ 66%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csc_matrix-anndata.abc.CSRDataset[zarr.Array]] SKIPPED [ 66%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_matrix-anndata.abc.CSRDataset[zarr.Array]] PASSED [ 66%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csr_matrix-anndata.abc.CSRDataset[zarr.Array]] SKIPPED [ 66%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_matrix-anndata.abc.CSRDataset[zarr.Array]] PASSED [ 67%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_array-anndata.abc.CSRDataset[zarr.Array]] PASSED [ 67%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_array-anndata.abc.CSRDataset[zarr.Array]] PASSED [ 67%] +tests/test_test_utils.py::test_conv_other[cupy.ndarray-anndata.abc.CSRDataset[zarr.Array]] SKIPPED [ 67%] +tests/test_test_utils.py::test_conv_other[numpy.ndarray-anndata.abc.CSRDataset[zarr.Array]] PASSED [ 67%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[zarr.Array]-anndata.abc.CSCDataset[zarr.Array]] PASSED [ 67%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[zarr.Array]-anndata.abc.CSCDataset[zarr.Array]] PASSED [ 67%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSCDataset[h5py.Dataset]-anndata.abc.CSCDataset[zarr.Array]] PASSED [ 67%] +tests/test_test_utils.py::test_conv_other[anndata.abc.CSRDataset[h5py.Dataset]-anndata.abc.CSCDataset[zarr.Array]] PASSED [ 67%] +tests/test_test_utils.py::test_conv_other[zarr.Array-anndata.abc.CSCDataset[zarr.Array]] PASSED [ 67%] +tests/test_test_utils.py::test_conv_other[h5py.Dataset-anndata.abc.CSCDataset[zarr.Array]] PASSED [ 67%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-anndata.abc.CSCDataset[zarr.Array]] SKIPPED [ 67%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_matrix]-anndata.abc.CSCDataset[zarr.Array]] PASSED [ 67%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-anndata.abc.CSCDataset[zarr.Array]] SKIPPED [ 67%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_matrix]-anndata.abc.CSCDataset[zarr.Array]] PASSED [ 67%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csc_array]-anndata.abc.CSCDataset[zarr.Array]] PASSED [ 67%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[scipy.sparse.csr_array]-anndata.abc.CSCDataset[zarr.Array]] PASSED [ 67%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[cupy.ndarray]-anndata.abc.CSCDataset[zarr.Array]] SKIPPED [ 67%] +tests/test_test_utils.py::test_conv_other[dask.array.Array[numpy.ndarray]-anndata.abc.CSCDataset[zarr.Array]] PASSED [ 67%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csc_matrix-anndata.abc.CSCDataset[zarr.Array]] SKIPPED [ 67%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_matrix-anndata.abc.CSCDataset[zarr.Array]] PASSED [ 67%] +tests/test_test_utils.py::test_conv_other[cupyx.scipy.sparse.csr_matrix-anndata.abc.CSCDataset[zarr.Array]] SKIPPED [ 67%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_matrix-anndata.abc.CSCDataset[zarr.Array]] PASSED [ 67%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csc_array-anndata.abc.CSCDataset[zarr.Array]] PASSED [ 67%] +tests/test_test_utils.py::test_conv_other[scipy.sparse.csr_array-anndata.abc.CSCDataset[zarr.Array]] PASSED [ 67%] +tests/test_test_utils.py::test_conv_other[cupy.ndarray-anndata.abc.CSCDataset[zarr.Array]] SKIPPED [ 67%] +tests/test_test_utils.py::test_conv_other[numpy.ndarray-anndata.abc.CSCDataset[zarr.Array]] PASSED [ 67%] +tests/test_test_utils.py::test_conv_extra[scipy.sparse.csc_matrix-scipy.sparse.coo_matrix] PASSED [ 67%] +tests/test_test_utils.py::test_conv_extra[scipy.sparse.csr_matrix-scipy.sparse.coo_matrix] PASSED [ 67%] +tests/test_test_utils.py::test_conv_extra[scipy.sparse.csc_array-scipy.sparse.coo_matrix] PASSED [ 67%] +tests/test_test_utils.py::test_conv_extra[scipy.sparse.csr_array-scipy.sparse.coo_matrix] PASSED [ 67%] +tests/test_test_utils.py::test_conv_extra[numpy.ndarray-scipy.sparse.coo_matrix] PASSED [ 67%] +tests/test_to_dense.py::test_to_dense_extra[scipy.sparse.coo_matrix-K-to_cpu_memory] PASSED [ 67%] +tests/test_to_dense.py::test_to_dense_extra[scipy.sparse.coo_matrix-K-not_to_cpu_memory] PASSED [ 68%] +tests/test_to_dense.py::test_to_dense_extra[scipy.sparse.coo_matrix-C-to_cpu_memory] PASSED [ 68%] +tests/test_to_dense.py::test_to_dense_extra[scipy.sparse.coo_matrix-C-not_to_cpu_memory] PASSED [ 68%] +tests/test_to_dense.py::test_to_dense_extra[scipy.sparse.coo_matrix-F-to_cpu_memory] PASSED [ 68%] +tests/test_to_dense.py::test_to_dense_extra[scipy.sparse.coo_matrix-F-not_to_cpu_memory] PASSED [ 68%] +tests/test_test_utils.py::test_conv_extra[scipy.sparse.csc_matrix-scipy.sparse.coo_array] PASSED [ 68%] +tests/test_test_utils.py::test_conv_extra[scipy.sparse.csr_matrix-scipy.sparse.coo_array] PASSED [ 68%] +tests/test_test_utils.py::test_conv_extra[scipy.sparse.csc_array-scipy.sparse.coo_array] PASSED [ 68%] +tests/test_test_utils.py::test_conv_extra[scipy.sparse.csr_array-scipy.sparse.coo_array] PASSED [ 68%] +tests/test_test_utils.py::test_conv_extra[numpy.ndarray-scipy.sparse.coo_array] PASSED [ 68%] +tests/test_to_dense.py::test_to_dense_extra[scipy.sparse.coo_array-K-to_cpu_memory] PASSED [ 68%] +tests/test_to_dense.py::test_to_dense_extra[scipy.sparse.coo_array-K-not_to_cpu_memory] PASSED [ 68%] +tests/test_to_dense.py::test_to_dense_extra[scipy.sparse.coo_array-C-to_cpu_memory] PASSED [ 68%] +tests/test_to_dense.py::test_to_dense_extra[scipy.sparse.coo_array-C-not_to_cpu_memory] PASSED [ 68%] +tests/test_to_dense.py::test_to_dense_extra[scipy.sparse.coo_array-F-to_cpu_memory] PASSED [ 68%] +tests/test_to_dense.py::test_to_dense_extra[scipy.sparse.coo_array-F-not_to_cpu_memory] PASSED [ 68%] +tests/test_test_utils.py::test_conv_extra[scipy.sparse.csc_matrix-cupyx.scipy.sparse.coo_matrix] SKIPPED [ 68%] +tests/test_test_utils.py::test_conv_extra[scipy.sparse.csr_matrix-cupyx.scipy.sparse.coo_matrix] SKIPPED [ 68%] +tests/test_test_utils.py::test_conv_extra[scipy.sparse.csc_array-cupyx.scipy.sparse.coo_matrix] SKIPPED [ 68%] +tests/test_test_utils.py::test_conv_extra[scipy.sparse.csr_array-cupyx.scipy.sparse.coo_matrix] SKIPPED [ 68%] +tests/test_test_utils.py::test_conv_extra[numpy.ndarray-cupyx.scipy.sparse.coo_matrix] SKIPPED [ 68%] +tests/test_to_dense.py::test_to_dense_extra[cupyx.scipy.sparse.coo_matrix-K-to_cpu_memory] SKIPPED [ 68%] +tests/test_to_dense.py::test_to_dense_extra[cupyx.scipy.sparse.coo_matrix-K-not_to_cpu_memory] SKIPPED [ 68%] +tests/test_to_dense.py::test_to_dense_extra[cupyx.scipy.sparse.coo_matrix-C-to_cpu_memory] SKIPPED [ 68%] +tests/test_to_dense.py::test_to_dense_extra[cupyx.scipy.sparse.coo_matrix-C-not_to_cpu_memory] SKIPPED [ 68%] +tests/test_to_dense.py::test_to_dense_extra[cupyx.scipy.sparse.coo_matrix-F-to_cpu_memory] SKIPPED [ 68%] +tests/test_to_dense.py::test_to_dense_extra[cupyx.scipy.sparse.coo_matrix-F-not_to_cpu_memory] SKIPPED [ 68%] +tests/test_test_utils.py::test_array_types[anndata.abc.CSCDataset[zarr.Array]] PASSED [ 68%] +tests/test_test_utils.py::test_session_scoped_array[anndata.abc.CSCDataset[zarr.Array]] PASSED [ 68%] +tests/test_to_dense.py::test_to_dense[anndata.abc.CSCDataset[zarr.Array]-K-to_cpu_memory] PASSED [ 68%] +tests/test_to_dense.py::test_to_dense[anndata.abc.CSCDataset[zarr.Array]-K-not_to_cpu_memory] PASSED [ 68%] +tests/test_to_dense.py::test_to_dense[anndata.abc.CSCDataset[zarr.Array]-C-to_cpu_memory] PASSED [ 68%] +tests/test_to_dense.py::test_to_dense[anndata.abc.CSCDataset[zarr.Array]-C-not_to_cpu_memory] PASSED [ 68%] +tests/test_to_dense.py::test_to_dense[anndata.abc.CSCDataset[zarr.Array]-F-to_cpu_memory] PASSED [ 69%] +tests/test_to_dense.py::test_to_dense[anndata.abc.CSCDataset[zarr.Array]-F-not_to_cpu_memory] PASSED [ 69%] +tests/test_test_utils.py::test_array_types[anndata.abc.CSRDataset[zarr.Array]] PASSED [ 69%] +tests/test_test_utils.py::test_session_scoped_array[anndata.abc.CSRDataset[zarr.Array]] PASSED [ 69%] +tests/test_to_dense.py::test_to_dense[anndata.abc.CSRDataset[zarr.Array]-K-to_cpu_memory] PASSED [ 69%] +tests/test_to_dense.py::test_to_dense[anndata.abc.CSRDataset[zarr.Array]-K-not_to_cpu_memory] PASSED [ 69%] +tests/test_to_dense.py::test_to_dense[anndata.abc.CSRDataset[zarr.Array]-C-to_cpu_memory] PASSED [ 69%] +tests/test_to_dense.py::test_to_dense[anndata.abc.CSRDataset[zarr.Array]-C-not_to_cpu_memory] PASSED [ 69%] +tests/test_to_dense.py::test_to_dense[anndata.abc.CSRDataset[zarr.Array]-F-to_cpu_memory] PASSED [ 69%] +tests/test_to_dense.py::test_to_dense[anndata.abc.CSRDataset[zarr.Array]-F-not_to_cpu_memory] PASSED [ 69%] +tests/test_test_utils.py::test_array_types[anndata.abc.CSCDataset[h5py.Dataset]] PASSED [ 69%] +tests/test_test_utils.py::test_session_scoped_array[anndata.abc.CSCDataset[h5py.Dataset]] PASSED [ 69%] +tests/test_to_dense.py::test_to_dense[anndata.abc.CSCDataset[h5py.Dataset]-K-to_cpu_memory] PASSED [ 69%] +tests/test_to_dense.py::test_to_dense[anndata.abc.CSCDataset[h5py.Dataset]-K-not_to_cpu_memory] PASSED [ 69%] +tests/test_to_dense.py::test_to_dense[anndata.abc.CSCDataset[h5py.Dataset]-C-to_cpu_memory] PASSED [ 69%] +tests/test_to_dense.py::test_to_dense[anndata.abc.CSCDataset[h5py.Dataset]-C-not_to_cpu_memory] PASSED [ 69%] +tests/test_to_dense.py::test_to_dense[anndata.abc.CSCDataset[h5py.Dataset]-F-to_cpu_memory] PASSED [ 69%] +tests/test_to_dense.py::test_to_dense[anndata.abc.CSCDataset[h5py.Dataset]-F-not_to_cpu_memory] PASSED [ 69%] +tests/test_test_utils.py::test_array_types[anndata.abc.CSRDataset[h5py.Dataset]] PASSED [ 69%] +tests/test_test_utils.py::test_session_scoped_array[anndata.abc.CSRDataset[h5py.Dataset]] PASSED [ 69%] +tests/test_to_dense.py::test_to_dense[anndata.abc.CSRDataset[h5py.Dataset]-K-to_cpu_memory] PASSED [ 69%] +tests/test_to_dense.py::test_to_dense[anndata.abc.CSRDataset[h5py.Dataset]-K-not_to_cpu_memory] PASSED [ 69%] +tests/test_to_dense.py::test_to_dense[anndata.abc.CSRDataset[h5py.Dataset]-C-to_cpu_memory] PASSED [ 69%] +tests/test_to_dense.py::test_to_dense[anndata.abc.CSRDataset[h5py.Dataset]-C-not_to_cpu_memory] PASSED [ 69%] +tests/test_to_dense.py::test_to_dense[anndata.abc.CSRDataset[h5py.Dataset]-F-to_cpu_memory] PASSED [ 69%] +tests/test_to_dense.py::test_to_dense[anndata.abc.CSRDataset[h5py.Dataset]-F-not_to_cpu_memory] PASSED [ 69%] +tests/test_test_utils.py::test_array_types[zarr.Array] PASSED [ 69%] +tests/test_test_utils.py::test_session_scoped_array[zarr.Array] PASSED [ 69%] +tests/test_to_dense.py::test_to_dense[zarr.Array-K-to_cpu_memory] PASSED [ 69%] +tests/test_to_dense.py::test_to_dense[zarr.Array-K-not_to_cpu_memory] PASSED [ 69%] +tests/test_to_dense.py::test_to_dense[zarr.Array-C-to_cpu_memory] PASSED [ 69%] +tests/test_to_dense.py::test_to_dense[zarr.Array-C-not_to_cpu_memory] PASSED [ 69%] +tests/test_to_dense.py::test_to_dense[zarr.Array-F-to_cpu_memory] PASSED [ 69%] +tests/test_to_dense.py::test_to_dense[zarr.Array-F-not_to_cpu_memory] PASSED [ 70%] +tests/test_test_utils.py::test_array_types[h5py.Dataset] PASSED [ 70%] +tests/test_test_utils.py::test_session_scoped_array[h5py.Dataset] PASSED [ 70%] +tests/test_to_dense.py::test_to_dense[h5py.Dataset-K-to_cpu_memory] PASSED [ 70%] +tests/test_to_dense.py::test_to_dense[h5py.Dataset-K-not_to_cpu_memory] PASSED [ 70%] +tests/test_to_dense.py::test_to_dense[h5py.Dataset-C-to_cpu_memory] PASSED [ 70%] +tests/test_to_dense.py::test_to_dense[h5py.Dataset-C-not_to_cpu_memory] PASSED [ 70%] +tests/test_to_dense.py::test_to_dense[h5py.Dataset-F-to_cpu_memory] PASSED [ 70%] +tests/test_to_dense.py::test_to_dense[h5py.Dataset-F-not_to_cpu_memory] PASSED [ 70%] +tests/test_test_utils.py::test_array_types[dask.array.Array[cupyx.scipy.sparse.csc_matrix]] SKIPPED [ 70%] +tests/test_test_utils.py::test_session_scoped_array[dask.array.Array[cupyx.scipy.sparse.csc_matrix]] SKIPPED [ 70%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-K-to_cpu_memory] SKIPPED [ 70%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-K-not_to_cpu_memory] SKIPPED [ 70%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-C-to_cpu_memory] SKIPPED [ 70%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-C-not_to_cpu_memory] SKIPPED [ 70%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-F-to_cpu_memory] SKIPPED [ 70%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[cupyx.scipy.sparse.csc_matrix]-F-not_to_cpu_memory] SKIPPED [ 70%] +tests/test_test_utils.py::test_array_types[dask.array.Array[scipy.sparse.csc_matrix]] PASSED [ 70%] +tests/test_test_utils.py::test_session_scoped_array[dask.array.Array[scipy.sparse.csc_matrix]] PASSED [ 70%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[scipy.sparse.csc_matrix]-K-to_cpu_memory] PASSED [ 70%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[scipy.sparse.csc_matrix]-K-not_to_cpu_memory] PASSED [ 70%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[scipy.sparse.csc_matrix]-C-to_cpu_memory] PASSED [ 70%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[scipy.sparse.csc_matrix]-C-not_to_cpu_memory] PASSED [ 70%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[scipy.sparse.csc_matrix]-F-to_cpu_memory] PASSED [ 70%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[scipy.sparse.csc_matrix]-F-not_to_cpu_memory] PASSED [ 70%] +tests/test_test_utils.py::test_array_types[dask.array.Array[cupyx.scipy.sparse.csr_matrix]] SKIPPED [ 70%] +tests/test_test_utils.py::test_session_scoped_array[dask.array.Array[cupyx.scipy.sparse.csr_matrix]] SKIPPED [ 70%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-K-to_cpu_memory] SKIPPED [ 70%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-K-not_to_cpu_memory] SKIPPED [ 70%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-C-to_cpu_memory] SKIPPED [ 70%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-C-not_to_cpu_memory] SKIPPED [ 70%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-F-to_cpu_memory] SKIPPED [ 70%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[cupyx.scipy.sparse.csr_matrix]-F-not_to_cpu_memory] SKIPPED [ 70%] +tests/test_test_utils.py::test_array_types[dask.array.Array[scipy.sparse.csr_matrix]] PASSED [ 71%] +tests/test_test_utils.py::test_session_scoped_array[dask.array.Array[scipy.sparse.csr_matrix]] PASSED [ 71%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[scipy.sparse.csr_matrix]-K-to_cpu_memory] PASSED [ 71%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[scipy.sparse.csr_matrix]-K-not_to_cpu_memory] PASSED [ 71%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[scipy.sparse.csr_matrix]-C-to_cpu_memory] PASSED [ 71%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[scipy.sparse.csr_matrix]-C-not_to_cpu_memory] PASSED [ 71%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[scipy.sparse.csr_matrix]-F-to_cpu_memory] PASSED [ 71%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[scipy.sparse.csr_matrix]-F-not_to_cpu_memory] PASSED [ 71%] +tests/test_test_utils.py::test_array_types[dask.array.Array[scipy.sparse.csc_array]] PASSED [ 71%] +tests/test_test_utils.py::test_session_scoped_array[dask.array.Array[scipy.sparse.csc_array]] PASSED [ 71%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[scipy.sparse.csc_array]-K-to_cpu_memory] PASSED [ 71%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[scipy.sparse.csc_array]-K-not_to_cpu_memory] PASSED [ 71%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[scipy.sparse.csc_array]-C-to_cpu_memory] PASSED [ 71%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[scipy.sparse.csc_array]-C-not_to_cpu_memory] PASSED [ 71%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[scipy.sparse.csc_array]-F-to_cpu_memory] PASSED [ 71%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[scipy.sparse.csc_array]-F-not_to_cpu_memory] PASSED [ 71%] +tests/test_test_utils.py::test_array_types[dask.array.Array[scipy.sparse.csr_array]] PASSED [ 71%] +tests/test_test_utils.py::test_session_scoped_array[dask.array.Array[scipy.sparse.csr_array]] PASSED [ 71%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[scipy.sparse.csr_array]-K-to_cpu_memory] PASSED [ 71%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[scipy.sparse.csr_array]-K-not_to_cpu_memory] PASSED [ 71%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[scipy.sparse.csr_array]-C-to_cpu_memory] PASSED [ 71%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[scipy.sparse.csr_array]-C-not_to_cpu_memory] PASSED [ 71%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[scipy.sparse.csr_array]-F-to_cpu_memory] PASSED [ 71%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[scipy.sparse.csr_array]-F-not_to_cpu_memory] PASSED [ 71%] +tests/test_test_utils.py::test_array_types[dask.array.Array[cupy.ndarray]] SKIPPED [ 71%] +tests/test_test_utils.py::test_session_scoped_array[dask.array.Array[cupy.ndarray]] SKIPPED [ 71%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[cupy.ndarray]-K-to_cpu_memory] SKIPPED [ 71%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[cupy.ndarray]-K-not_to_cpu_memory] SKIPPED [ 71%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[cupy.ndarray]-C-to_cpu_memory] SKIPPED [ 71%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[cupy.ndarray]-C-not_to_cpu_memory] SKIPPED [ 71%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[cupy.ndarray]-F-to_cpu_memory] SKIPPED [ 71%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[cupy.ndarray]-F-not_to_cpu_memory] SKIPPED [ 71%] +tests/test_test_utils.py::test_array_types[dask.array.Array[numpy.ndarray]] PASSED [ 71%] +tests/test_test_utils.py::test_session_scoped_array[dask.array.Array[numpy.ndarray]] PASSED [ 72%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[numpy.ndarray]-K-to_cpu_memory] PASSED [ 72%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[numpy.ndarray]-K-not_to_cpu_memory] PASSED [ 72%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[numpy.ndarray]-C-to_cpu_memory] PASSED [ 72%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[numpy.ndarray]-C-not_to_cpu_memory] PASSED [ 72%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[numpy.ndarray]-F-to_cpu_memory] PASSED [ 72%] +tests/test_to_dense.py::test_to_dense[dask.array.Array[numpy.ndarray]-F-not_to_cpu_memory] PASSED [ 72%] +tests/test_test_utils.py::test_array_types[cupyx.scipy.sparse.csc_matrix] SKIPPED [ 72%] +tests/test_test_utils.py::test_session_scoped_array[cupyx.scipy.sparse.csc_matrix] SKIPPED [ 72%] +tests/test_to_dense.py::test_to_dense[cupyx.scipy.sparse.csc_matrix-K-to_cpu_memory] SKIPPED [ 72%] +tests/test_to_dense.py::test_to_dense[cupyx.scipy.sparse.csc_matrix-K-not_to_cpu_memory] SKIPPED [ 72%] +tests/test_to_dense.py::test_to_dense[cupyx.scipy.sparse.csc_matrix-C-to_cpu_memory] SKIPPED [ 72%] +tests/test_to_dense.py::test_to_dense[cupyx.scipy.sparse.csc_matrix-C-not_to_cpu_memory] SKIPPED [ 72%] +tests/test_to_dense.py::test_to_dense[cupyx.scipy.sparse.csc_matrix-F-to_cpu_memory] SKIPPED [ 72%] +tests/test_to_dense.py::test_to_dense[cupyx.scipy.sparse.csc_matrix-F-not_to_cpu_memory] SKIPPED [ 72%] +tests/test_test_utils.py::test_array_types[scipy.sparse.csc_matrix] PASSED [ 72%] +tests/test_test_utils.py::test_session_scoped_array[scipy.sparse.csc_matrix] PASSED [ 72%] +tests/test_to_dense.py::test_to_dense[scipy.sparse.csc_matrix-K-to_cpu_memory] PASSED [ 72%] +tests/test_to_dense.py::test_to_dense[scipy.sparse.csc_matrix-K-not_to_cpu_memory] PASSED [ 72%] +tests/test_to_dense.py::test_to_dense[scipy.sparse.csc_matrix-C-to_cpu_memory] PASSED [ 72%] +tests/test_to_dense.py::test_to_dense[scipy.sparse.csc_matrix-C-not_to_cpu_memory] PASSED [ 72%] +tests/test_to_dense.py::test_to_dense[scipy.sparse.csc_matrix-F-to_cpu_memory] PASSED [ 72%] +tests/test_to_dense.py::test_to_dense[scipy.sparse.csc_matrix-F-not_to_cpu_memory] PASSED [ 72%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-None-2d-ax0-float32] SKIPPED [ 72%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-None-2d-ax0-float64] SKIPPED [ 72%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-None-2d-ax0-int32] SKIPPED [ 72%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-None-2d-ax0-bool] SKIPPED [ 72%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-None-2d-all-float32] SKIPPED [ 72%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-None-2d-all-float64] SKIPPED [ 72%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-None-2d-all-int32] SKIPPED [ 72%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-None-2d-all-bool] SKIPPED [ 72%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-None-1d-all-float32] SKIPPED [ 72%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-None-1d-all-float64] SKIPPED [ 72%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-None-1d-all-int32] SKIPPED [ 73%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-None-1d-all-bool] SKIPPED [ 73%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-None-2d-ax0-float32] PASSED [ 73%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-None-2d-ax0-float64] PASSED [ 73%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-None-2d-ax0-int32] PASSED [ 73%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-None-2d-ax0-bool] PASSED [ 73%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-None-2d-ax0-float32] PASSED [ 73%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-None-2d-ax0-float64] PASSED [ 73%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-None-2d-ax0-int32] PASSED [ 73%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-None-2d-ax0-bool] PASSED [ 73%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-None-2d-ax0-float32] PASSED [ 73%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-None-2d-ax0-float64] PASSED [ 73%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-None-2d-ax0-int32] PASSED [ 73%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-None-2d-ax0-bool] PASSED [ 73%] +tests/test_stats.py::test_sum[cupy.ndarray-None-2d-ax0-float32] SKIPPED [ 73%] +tests/test_stats.py::test_sum[cupy.ndarray-None-2d-ax0-float64] SKIPPED [ 73%] +tests/test_stats.py::test_sum[cupy.ndarray-None-2d-ax0-int32] SKIPPED [ 73%] +tests/test_stats.py::test_sum[cupy.ndarray-None-2d-ax0-bool] SKIPPED [ 73%] +tests/test_stats.py::test_sum[numpy.ndarray-None-2d-ax0-float32] PASSED [ 73%] +tests/test_stats.py::test_sum[numpy.ndarray-None-2d-ax0-float64] PASSED [ 73%] +tests/test_stats.py::test_sum[numpy.ndarray-None-2d-ax0-int32] PASSED [ 73%] +tests/test_stats.py::test_sum[numpy.ndarray-None-2d-ax0-bool] PASSED [ 73%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-None-2d-all-float32] PASSED [ 73%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-None-2d-all-float64] PASSED [ 73%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-None-2d-all-int32] PASSED [ 73%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-None-2d-all-bool] PASSED [ 73%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-None-1d-all-float32] SKIPPED [ 73%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-None-1d-all-float64] SKIPPED [ 73%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-None-1d-all-int32] SKIPPED [ 73%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-None-1d-all-bool] SKIPPED [ 73%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-None-2d-all-float32] PASSED [ 73%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-None-2d-all-float64] PASSED [ 73%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-None-2d-all-int32] PASSED [ 73%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-None-2d-all-bool] PASSED [ 74%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-None-2d-all-float32] PASSED [ 74%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-None-2d-all-float64] PASSED [ 74%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-None-2d-all-int32] PASSED [ 74%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-None-2d-all-bool] PASSED [ 74%] +tests/test_stats.py::test_sum[cupy.ndarray-None-2d-all-float32] SKIPPED [ 74%] +tests/test_stats.py::test_sum[cupy.ndarray-None-2d-all-float64] SKIPPED [ 74%] +tests/test_stats.py::test_sum[cupy.ndarray-None-2d-all-int32] SKIPPED [ 74%] +tests/test_stats.py::test_sum[cupy.ndarray-None-2d-all-bool] SKIPPED [ 74%] +tests/test_stats.py::test_sum[numpy.ndarray-None-2d-all-float32] PASSED [ 74%] +tests/test_stats.py::test_sum[numpy.ndarray-None-2d-all-float64] PASSED [ 74%] +tests/test_stats.py::test_sum[numpy.ndarray-None-2d-all-int32] PASSED [ 74%] +tests/test_stats.py::test_sum[numpy.ndarray-None-2d-all-bool] PASSED [ 74%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-None-1d-all-float32] SKIPPED [ 74%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-None-1d-all-float64] SKIPPED [ 74%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-None-1d-all-int32] SKIPPED [ 74%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-None-1d-all-bool] SKIPPED [ 74%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-None-1d-all-float32] PASSED [ 74%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-None-1d-all-float64] PASSED [ 74%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-None-1d-all-int32] PASSED [ 74%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-None-1d-all-bool] PASSED [ 74%] +tests/test_stats.py::test_sum[cupy.ndarray-None-1d-all-float32] SKIPPED [ 74%] +tests/test_stats.py::test_sum[cupy.ndarray-None-1d-all-float64] SKIPPED [ 74%] +tests/test_stats.py::test_sum[cupy.ndarray-None-1d-all-int32] SKIPPED [ 74%] +tests/test_stats.py::test_sum[cupy.ndarray-None-1d-all-bool] SKIPPED [ 74%] +tests/test_stats.py::test_sum[numpy.ndarray-None-1d-all-float32] PASSED [ 74%] +tests/test_stats.py::test_sum[numpy.ndarray-None-1d-all-float64] PASSED [ 74%] +tests/test_stats.py::test_sum[numpy.ndarray-None-1d-all-int32] PASSED [ 74%] +tests/test_stats.py::test_sum[numpy.ndarray-None-1d-all-bool] PASSED [ 74%] +tests/test_stats.py::test_min_max[cupyx.scipy.sparse.csr_matrix-2d-ax1-min] SKIPPED [ 74%] +tests/test_stats.py::test_min_max[cupyx.scipy.sparse.csr_matrix-2d-ax1-max] SKIPPED [ 74%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csr_matrix-2d-ax1-float32] SKIPPED [ 74%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csr_matrix-2d-ax1-float64] SKIPPED [ 75%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csr_matrix-2d-ax1-int32] SKIPPED [ 75%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csr_matrix-2d-ax1-bool] SKIPPED [ 75%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csr_matrix-2d-ax1-float32] SKIPPED [ 75%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csr_matrix-2d-ax1-float64] SKIPPED [ 75%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csr_matrix-2d-ax1-int32] SKIPPED [ 75%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csr_matrix-2d-ax1-bool] SKIPPED [ 75%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-int64-2d-ax1-float32] PASSED [ 75%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-int64-2d-ax1-float64] PASSED [ 75%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-int64-2d-ax1-int32] PASSED [ 75%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-int64-2d-ax1-bool] PASSED [ 75%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-int64-2d-ax1-float32] PASSED [ 75%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-int64-2d-ax1-float64] PASSED [ 75%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-int64-2d-ax1-int32] PASSED [ 75%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-int64-2d-ax1-bool] PASSED [ 75%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-int64-2d-ax1-float32] PASSED [ 75%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-int64-2d-ax1-float64] PASSED [ 75%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-int64-2d-ax1-int32] PASSED [ 75%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-int64-2d-ax1-bool] PASSED [ 75%] +tests/test_stats.py::test_sum[cupy.ndarray-int64-2d-ax1-float32] SKIPPED [ 75%] +tests/test_stats.py::test_sum[cupy.ndarray-int64-2d-ax1-float64] SKIPPED [ 75%] +tests/test_stats.py::test_sum[cupy.ndarray-int64-2d-ax1-int32] SKIPPED [ 75%] +tests/test_stats.py::test_sum[cupy.ndarray-int64-2d-ax1-bool] SKIPPED [ 75%] +tests/test_stats.py::test_sum[numpy.ndarray-int64-2d-ax1-float32] PASSED [ 75%] +tests/test_stats.py::test_sum[numpy.ndarray-int64-2d-ax1-float64] PASSED [ 75%] +tests/test_stats.py::test_sum[numpy.ndarray-int64-2d-ax1-int32] PASSED [ 75%] +tests/test_stats.py::test_sum[numpy.ndarray-int64-2d-ax1-bool] PASSED [ 75%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float64-2d-ax1-float32] PASSED [ 75%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float64-2d-ax1-float64] PASSED [ 75%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float64-2d-ax1-int32] PASSED [ 75%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float64-2d-ax1-bool] PASSED [ 75%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float32-2d-ax1-float32] PASSED [ 75%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float32-2d-ax1-float64] PASSED [ 75%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float32-2d-ax1-int32] PASSED [ 76%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float32-2d-ax1-bool] PASSED [ 76%] +tests/test_stats.py::test_sum_to_int[scipy.sparse.csr_matrix-2d-ax1] PASSED [ 76%] +tests/test_stats.py::test_min_max[scipy.sparse.csr_matrix-2d-ax1-min] PASSED [ 76%] +tests/test_stats.py::test_min_max[scipy.sparse.csr_matrix-2d-ax1-max] PASSED [ 76%] +tests/test_stats.py::test_mean[scipy.sparse.csr_matrix-2d-ax1-float32] PASSED [ 76%] +tests/test_stats.py::test_mean[scipy.sparse.csr_matrix-2d-ax1-float64] PASSED [ 76%] +tests/test_stats.py::test_mean[scipy.sparse.csr_matrix-2d-ax1-int32] PASSED [ 76%] +tests/test_stats.py::test_mean[scipy.sparse.csr_matrix-2d-ax1-bool] PASSED [ 76%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_matrix-2d-ax1-float32] PASSED [ 76%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_matrix-2d-ax1-float64] PASSED [ 76%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_matrix-2d-ax1-int32] PASSED [ 76%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_matrix-2d-ax1-bool] PASSED [ 76%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float64-2d-ax1-float32] PASSED [ 76%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float64-2d-ax1-float64] PASSED [ 76%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float64-2d-ax1-int32] PASSED [ 76%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float64-2d-ax1-bool] PASSED [ 76%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float64-2d-ax1-float32] PASSED [ 76%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float64-2d-ax1-float64] PASSED [ 76%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float64-2d-ax1-int32] PASSED [ 76%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float64-2d-ax1-bool] PASSED [ 76%] +tests/test_stats.py::test_sum[cupy.ndarray-float64-2d-ax1-float32] SKIPPED [ 76%] +tests/test_stats.py::test_sum[cupy.ndarray-float64-2d-ax1-float64] SKIPPED [ 76%] +tests/test_stats.py::test_sum[cupy.ndarray-float64-2d-ax1-int32] SKIPPED [ 76%] +tests/test_stats.py::test_sum[cupy.ndarray-float64-2d-ax1-bool] SKIPPED [ 76%] +tests/test_stats.py::test_sum[numpy.ndarray-float64-2d-ax1-float32] PASSED [ 76%] +tests/test_stats.py::test_sum[numpy.ndarray-float64-2d-ax1-float64] PASSED [ 76%] +tests/test_stats.py::test_sum[numpy.ndarray-float64-2d-ax1-int32] PASSED [ 76%] +tests/test_stats.py::test_sum[numpy.ndarray-float64-2d-ax1-bool] PASSED [ 76%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float32-2d-ax1-float32] PASSED [ 76%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float32-2d-ax1-float64] PASSED [ 76%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float32-2d-ax1-int32] PASSED [ 76%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float32-2d-ax1-bool] PASSED [ 76%] +tests/test_stats.py::test_sum_to_int[scipy.sparse.csc_array-2d-ax1] PASSED [ 77%] +tests/test_stats.py::test_min_max[scipy.sparse.csc_array-2d-ax1-min] PASSED [ 77%] +tests/test_stats.py::test_min_max[scipy.sparse.csc_array-2d-ax1-max] PASSED [ 77%] +tests/test_stats.py::test_mean[scipy.sparse.csc_array-2d-ax1-float32] PASSED [ 77%] +tests/test_stats.py::test_mean[scipy.sparse.csc_array-2d-ax1-float64] PASSED [ 77%] +tests/test_stats.py::test_mean[scipy.sparse.csc_array-2d-ax1-int32] PASSED [ 77%] +tests/test_stats.py::test_mean[scipy.sparse.csc_array-2d-ax1-bool] PASSED [ 77%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_array-2d-ax1-float32] PASSED [ 77%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_array-2d-ax1-float64] PASSED [ 77%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_array-2d-ax1-int32] PASSED [ 77%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_array-2d-ax1-bool] PASSED [ 77%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax1-float32-sum] PASSED [ 77%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax1-float32-min] PASSED [ 77%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax1-float32-max] PASSED [ 77%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax1-float32-mean] PASSED [ 77%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax1-float32-mean_var] PASSED [ 77%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax1-float32-is_constant] PASSED [ 77%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax1-float64-sum] PASSED [ 77%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax1-float64-min] PASSED [ 77%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax1-float64-max] PASSED [ 77%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax1-float64-mean] PASSED [ 77%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax1-float64-mean_var] PASSED [ 77%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax1-float64-is_constant] PASSED [ 77%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax1-int32-sum] PASSED [ 77%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax1-int32-min] PASSED [ 77%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax1-int32-max] PASSED [ 77%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax1-int32-mean] PASSED [ 77%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax1-int32-mean_var] PASSED [ 77%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax1-int32-is_constant] PASSED [ 77%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float32-2d-ax1-float32] PASSED [ 77%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float32-2d-ax1-float64] PASSED [ 77%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float32-2d-ax1-int32] PASSED [ 77%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float32-2d-ax1-bool] PASSED [ 77%] +tests/test_stats.py::test_sum[cupy.ndarray-float32-2d-ax1-float32] SKIPPED [ 78%] +tests/test_stats.py::test_sum[cupy.ndarray-float32-2d-ax1-float64] SKIPPED [ 78%] +tests/test_stats.py::test_sum[cupy.ndarray-float32-2d-ax1-int32] SKIPPED [ 78%] +tests/test_stats.py::test_sum[cupy.ndarray-float32-2d-ax1-bool] SKIPPED [ 78%] +tests/test_stats.py::test_sum[numpy.ndarray-float32-2d-ax1-float32] PASSED [ 78%] +tests/test_stats.py::test_sum[numpy.ndarray-float32-2d-ax1-float64] PASSED [ 78%] +tests/test_stats.py::test_sum[numpy.ndarray-float32-2d-ax1-int32] PASSED [ 78%] +tests/test_stats.py::test_sum[numpy.ndarray-float32-2d-ax1-bool] PASSED [ 78%] +tests/test_stats.py::test_sum_to_int[scipy.sparse.csr_array-2d-ax1] PASSED [ 78%] +tests/test_stats.py::test_min_max[scipy.sparse.csr_array-2d-ax1-min] PASSED [ 78%] +tests/test_stats.py::test_min_max[scipy.sparse.csr_array-2d-ax1-max] PASSED [ 78%] +tests/test_stats.py::test_mean[scipy.sparse.csr_array-2d-ax1-float32] PASSED [ 78%] +tests/test_stats.py::test_mean[scipy.sparse.csr_array-2d-ax1-float64] PASSED [ 78%] +tests/test_stats.py::test_mean[scipy.sparse.csr_array-2d-ax1-int32] PASSED [ 78%] +tests/test_stats.py::test_mean[scipy.sparse.csr_array-2d-ax1-bool] PASSED [ 78%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_array-2d-ax1-float32] PASSED [ 78%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_array-2d-ax1-float64] PASSED [ 78%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_array-2d-ax1-int32] PASSED [ 78%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_array-2d-ax1-bool] PASSED [ 78%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax1-float32-sum] PASSED [ 78%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax1-float32-min] PASSED [ 78%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax1-float32-max] PASSED [ 78%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax1-float32-mean] PASSED [ 78%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax1-float32-mean_var] PASSED [ 78%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax1-float32-is_constant] PASSED [ 78%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax1-float64-sum] PASSED [ 78%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax1-float64-min] PASSED [ 78%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax1-float64-max] PASSED [ 78%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax1-float64-mean] PASSED [ 78%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax1-float64-mean_var] PASSED [ 78%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax1-float64-is_constant] PASSED [ 78%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax1-int32-sum] PASSED [ 78%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax1-int32-min] PASSED [ 78%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax1-int32-max] PASSED [ 79%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax1-int32-mean] PASSED [ 79%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax1-int32-mean_var] PASSED [ 79%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax1-int32-is_constant] PASSED [ 79%] +tests/test_stats.py::test_min_max[cupy.ndarray-2d-ax1-min] SKIPPED (...) [ 79%] +tests/test_stats.py::test_min_max[cupy.ndarray-2d-ax1-max] SKIPPED (...) [ 79%] +tests/test_stats.py::test_mean[cupy.ndarray-2d-ax1-float32] SKIPPED [ 79%] +tests/test_stats.py::test_mean[cupy.ndarray-2d-ax1-float64] SKIPPED [ 79%] +tests/test_stats.py::test_mean[cupy.ndarray-2d-ax1-int32] SKIPPED (c...) [ 79%] +tests/test_stats.py::test_mean[cupy.ndarray-2d-ax1-bool] SKIPPED (cu...) [ 79%] +tests/test_stats.py::test_mean_var[cupy.ndarray-2d-ax1-float32] SKIPPED [ 79%] +tests/test_stats.py::test_mean_var[cupy.ndarray-2d-ax1-float64] SKIPPED [ 79%] +tests/test_stats.py::test_mean_var[cupy.ndarray-2d-ax1-int32] SKIPPED [ 79%] +tests/test_stats.py::test_mean_var[cupy.ndarray-2d-ax1-bool] SKIPPED [ 79%] +tests/test_stats.py::test_sum_to_int[numpy.ndarray-2d-ax1] PASSED [ 79%] +tests/test_stats.py::test_min_max[numpy.ndarray-2d-ax1-min] PASSED [ 79%] +tests/test_stats.py::test_min_max[numpy.ndarray-2d-ax1-max] PASSED [ 79%] +tests/test_stats.py::test_mean[numpy.ndarray-2d-ax1-float32] PASSED [ 79%] +tests/test_stats.py::test_mean[numpy.ndarray-2d-ax1-float64] PASSED [ 79%] +tests/test_stats.py::test_mean[numpy.ndarray-2d-ax1-int32] PASSED [ 79%] +tests/test_stats.py::test_mean[numpy.ndarray-2d-ax1-bool] PASSED [ 79%] +tests/test_stats.py::test_mean_var[numpy.ndarray-2d-ax1-float32] PASSED [ 79%] +tests/test_stats.py::test_mean_var[numpy.ndarray-2d-ax1-float64] PASSED [ 79%] +tests/test_stats.py::test_mean_var[numpy.ndarray-2d-ax1-int32] PASSED [ 79%] +tests/test_stats.py::test_mean_var[numpy.ndarray-2d-ax1-bool] PASSED [ 79%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax1-float32-sum] PASSED [ 79%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax1-float32-min] PASSED [ 79%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax1-float32-max] PASSED [ 79%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax1-float32-mean] PASSED [ 79%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax1-float32-mean_var] PASSED [ 79%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax1-float32-is_constant] PASSED [ 79%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax1-float64-sum] PASSED [ 79%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax1-float64-min] PASSED [ 79%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax1-float64-max] PASSED [ 80%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax1-float64-mean] PASSED [ 80%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax1-float64-mean_var] PASSED [ 80%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax1-float64-is_constant] PASSED [ 80%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax1-int32-sum] PASSED [ 80%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax1-int32-min] PASSED [ 80%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax1-int32-max] PASSED [ 80%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax1-int32-mean] PASSED [ 80%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax1-int32-mean_var] PASSED [ 80%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax1-int32-is_constant] PASSED [ 80%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float64-2d-ax0-float32] SKIPPED [ 80%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float64-2d-ax0-float64] SKIPPED [ 80%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float64-2d-ax0-int32] SKIPPED [ 80%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float64-2d-ax0-bool] SKIPPED [ 80%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float32-2d-ax0-float32] SKIPPED [ 80%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float32-2d-ax0-float64] SKIPPED [ 80%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float32-2d-ax0-int32] SKIPPED [ 80%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float32-2d-ax0-bool] SKIPPED [ 80%] +tests/test_stats.py::test_min_max[cupyx.scipy.sparse.csr_matrix-2d-ax0-min] SKIPPED [ 80%] +tests/test_stats.py::test_min_max[cupyx.scipy.sparse.csr_matrix-2d-ax0-max] SKIPPED [ 80%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csr_matrix-2d-ax0-float32] SKIPPED [ 80%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csr_matrix-2d-ax0-float64] SKIPPED [ 80%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csr_matrix-2d-ax0-int32] SKIPPED [ 80%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csr_matrix-2d-ax0-bool] SKIPPED [ 80%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csr_matrix-2d-ax0-float32] SKIPPED [ 80%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csr_matrix-2d-ax0-float64] SKIPPED [ 80%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csr_matrix-2d-ax0-int32] SKIPPED [ 80%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csr_matrix-2d-ax0-bool] SKIPPED [ 80%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float64-2d-all-float32] SKIPPED [ 80%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float64-2d-all-float64] SKIPPED [ 80%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float64-2d-all-int32] SKIPPED [ 80%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float64-2d-all-bool] SKIPPED [ 80%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float64-1d-all-float32] SKIPPED [ 80%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float64-1d-all-float64] SKIPPED [ 81%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float64-1d-all-int32] SKIPPED [ 81%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float64-1d-all-bool] SKIPPED [ 81%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float32-2d-all-float32] SKIPPED [ 81%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float32-2d-all-float64] SKIPPED [ 81%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float32-2d-all-int32] SKIPPED [ 81%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float32-2d-all-bool] SKIPPED [ 81%] +tests/test_stats.py::test_min_max[cupyx.scipy.sparse.csr_matrix-2d-all-min] SKIPPED [ 81%] +tests/test_stats.py::test_min_max[cupyx.scipy.sparse.csr_matrix-2d-all-max] SKIPPED [ 81%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csr_matrix-2d-all-float32] SKIPPED [ 81%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csr_matrix-2d-all-float64] SKIPPED [ 81%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csr_matrix-2d-all-int32] SKIPPED [ 81%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csr_matrix-2d-all-bool] SKIPPED [ 81%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csr_matrix-2d-all-float32] SKIPPED [ 81%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csr_matrix-2d-all-float64] SKIPPED [ 81%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csr_matrix-2d-all-int32] SKIPPED [ 81%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csr_matrix-2d-all-bool] SKIPPED [ 81%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float32-1d-all-float32] SKIPPED [ 81%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float32-1d-all-float64] SKIPPED [ 81%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float32-1d-all-int32] SKIPPED [ 81%] +tests/test_stats.py::test_sum[cupyx.scipy.sparse.csr_matrix-float32-1d-all-bool] SKIPPED [ 81%] +tests/test_stats.py::test_min_max[cupyx.scipy.sparse.csr_matrix-1d-all-min] SKIPPED [ 81%] +tests/test_stats.py::test_min_max[cupyx.scipy.sparse.csr_matrix-1d-all-max] SKIPPED [ 81%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csr_matrix-1d-all-float32] SKIPPED [ 81%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csr_matrix-1d-all-float64] SKIPPED [ 81%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csr_matrix-1d-all-int32] SKIPPED [ 81%] +tests/test_stats.py::test_mean[cupyx.scipy.sparse.csr_matrix-1d-all-bool] SKIPPED [ 81%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csr_matrix-1d-all-float32] SKIPPED [ 81%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csr_matrix-1d-all-float64] SKIPPED [ 81%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csr_matrix-1d-all-int32] SKIPPED [ 81%] +tests/test_stats.py::test_mean_var[cupyx.scipy.sparse.csr_matrix-1d-all-bool] SKIPPED [ 81%] +tests/test_test_utils.py::test_conv[cupyx.scipy.sparse.csr_matrix-float32] SKIPPED [ 81%] +tests/test_test_utils.py::test_conv[cupyx.scipy.sparse.csr_matrix-float64] SKIPPED [ 81%] +tests/test_test_utils.py::test_array_types[cupyx.scipy.sparse.csr_matrix] SKIPPED [ 82%] +tests/test_test_utils.py::test_session_scoped_array[cupyx.scipy.sparse.csr_matrix] SKIPPED [ 82%] +tests/test_to_dense.py::test_to_dense[cupyx.scipy.sparse.csr_matrix-K-to_cpu_memory] SKIPPED [ 82%] +tests/test_to_dense.py::test_to_dense[cupyx.scipy.sparse.csr_matrix-K-not_to_cpu_memory] SKIPPED [ 82%] +tests/test_to_dense.py::test_to_dense[cupyx.scipy.sparse.csr_matrix-C-to_cpu_memory] SKIPPED [ 82%] +tests/test_to_dense.py::test_to_dense[cupyx.scipy.sparse.csr_matrix-C-not_to_cpu_memory] SKIPPED [ 82%] +tests/test_to_dense.py::test_to_dense[cupyx.scipy.sparse.csr_matrix-F-to_cpu_memory] SKIPPED [ 82%] +tests/test_to_dense.py::test_to_dense[cupyx.scipy.sparse.csr_matrix-F-not_to_cpu_memory] SKIPPED [ 82%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-int64-2d-all-float32] PASSED [ 82%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-int64-2d-all-float64] PASSED [ 82%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-int64-2d-all-int32] PASSED [ 82%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-int64-2d-all-bool] PASSED [ 82%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-int64-1d-all-float32] SKIPPED [ 82%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-int64-1d-all-float64] SKIPPED [ 82%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-int64-1d-all-int32] SKIPPED [ 82%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-int64-1d-all-bool] SKIPPED [ 82%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-int64-2d-all-float32] PASSED [ 82%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-int64-2d-all-float64] PASSED [ 82%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-int64-2d-all-int32] PASSED [ 82%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-int64-2d-all-bool] PASSED [ 82%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-int64-2d-all-float32] PASSED [ 82%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-int64-2d-all-float64] PASSED [ 82%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-int64-2d-all-int32] PASSED [ 82%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-int64-2d-all-bool] PASSED [ 82%] +tests/test_stats.py::test_sum[cupy.ndarray-int64-2d-all-float32] SKIPPED [ 82%] +tests/test_stats.py::test_sum[cupy.ndarray-int64-2d-all-float64] SKIPPED [ 82%] +tests/test_stats.py::test_sum[cupy.ndarray-int64-2d-all-int32] SKIPPED [ 82%] +tests/test_stats.py::test_sum[cupy.ndarray-int64-2d-all-bool] SKIPPED [ 82%] +tests/test_stats.py::test_sum[numpy.ndarray-int64-2d-all-float32] PASSED [ 82%] +tests/test_stats.py::test_sum[numpy.ndarray-int64-2d-all-float64] PASSED [ 82%] +tests/test_stats.py::test_sum[numpy.ndarray-int64-2d-all-int32] PASSED [ 82%] +tests/test_stats.py::test_sum[numpy.ndarray-int64-2d-all-bool] PASSED [ 82%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-int64-1d-all-float32] SKIPPED [ 82%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-int64-1d-all-float64] SKIPPED [ 83%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-int64-1d-all-int32] SKIPPED [ 83%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-int64-1d-all-bool] SKIPPED [ 83%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-int64-1d-all-float32] PASSED [ 83%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-int64-1d-all-float64] PASSED [ 83%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-int64-1d-all-int32] PASSED [ 83%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-int64-1d-all-bool] PASSED [ 83%] +tests/test_stats.py::test_sum[cupy.ndarray-int64-1d-all-float32] SKIPPED [ 83%] +tests/test_stats.py::test_sum[cupy.ndarray-int64-1d-all-float64] SKIPPED [ 83%] +tests/test_stats.py::test_sum[cupy.ndarray-int64-1d-all-int32] SKIPPED [ 83%] +tests/test_stats.py::test_sum[cupy.ndarray-int64-1d-all-bool] SKIPPED [ 83%] +tests/test_stats.py::test_sum[numpy.ndarray-int64-1d-all-float32] PASSED [ 83%] +tests/test_stats.py::test_sum[numpy.ndarray-int64-1d-all-float64] PASSED [ 83%] +tests/test_stats.py::test_sum[numpy.ndarray-int64-1d-all-int32] PASSED [ 83%] +tests/test_stats.py::test_sum[numpy.ndarray-int64-1d-all-bool] PASSED [ 83%] +tests/test_stats.py::test_sum_to_int[scipy.sparse.csr_matrix-2d-ax0] PASSED [ 83%] +tests/test_stats.py::test_min_max[scipy.sparse.csr_matrix-2d-ax0-min] PASSED [ 83%] +tests/test_stats.py::test_min_max[scipy.sparse.csr_matrix-2d-ax0-max] PASSED [ 83%] +tests/test_stats.py::test_mean[scipy.sparse.csr_matrix-2d-ax0-float32] PASSED [ 83%] +tests/test_stats.py::test_mean[scipy.sparse.csr_matrix-2d-ax0-float64] PASSED [ 83%] +tests/test_stats.py::test_mean[scipy.sparse.csr_matrix-2d-ax0-int32] PASSED [ 83%] +tests/test_stats.py::test_mean[scipy.sparse.csr_matrix-2d-ax0-bool] PASSED [ 83%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_matrix-2d-ax0-float32] PASSED [ 83%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_matrix-2d-ax0-float64] PASSED [ 83%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_matrix-2d-ax0-int32] PASSED [ 83%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_matrix-2d-ax0-bool] PASSED [ 83%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float64-2d-ax0-float32] PASSED [ 83%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float64-2d-ax0-float64] PASSED [ 83%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float64-2d-ax0-int32] PASSED [ 83%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float64-2d-ax0-bool] PASSED [ 83%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float64-2d-ax0-float32] PASSED [ 83%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float64-2d-ax0-float64] PASSED [ 83%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float64-2d-ax0-int32] PASSED [ 83%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float64-2d-ax0-bool] PASSED [ 84%] +tests/test_stats.py::test_sum[cupy.ndarray-float64-2d-ax0-float32] SKIPPED [ 84%] +tests/test_stats.py::test_sum[cupy.ndarray-float64-2d-ax0-float64] SKIPPED [ 84%] +tests/test_stats.py::test_sum[cupy.ndarray-float64-2d-ax0-int32] SKIPPED [ 84%] +tests/test_stats.py::test_sum[cupy.ndarray-float64-2d-ax0-bool] SKIPPED [ 84%] +tests/test_stats.py::test_sum[numpy.ndarray-float64-2d-ax0-float32] PASSED [ 84%] +tests/test_stats.py::test_sum[numpy.ndarray-float64-2d-ax0-float64] PASSED [ 84%] +tests/test_stats.py::test_sum[numpy.ndarray-float64-2d-ax0-int32] PASSED [ 84%] +tests/test_stats.py::test_sum[numpy.ndarray-float64-2d-ax0-bool] PASSED [ 84%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float32-2d-ax0-float32] PASSED [ 84%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float32-2d-ax0-float64] PASSED [ 84%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float32-2d-ax0-int32] PASSED [ 84%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float32-2d-ax0-bool] PASSED [ 84%] +tests/test_stats.py::test_sum_to_int[scipy.sparse.csc_array-2d-ax0] PASSED [ 84%] +tests/test_stats.py::test_min_max[scipy.sparse.csc_array-2d-ax0-min] PASSED [ 84%] +tests/test_stats.py::test_min_max[scipy.sparse.csc_array-2d-ax0-max] PASSED [ 84%] +tests/test_stats.py::test_mean[scipy.sparse.csc_array-2d-ax0-float32] PASSED [ 84%] +tests/test_stats.py::test_mean[scipy.sparse.csc_array-2d-ax0-float64] PASSED [ 84%] +tests/test_stats.py::test_mean[scipy.sparse.csc_array-2d-ax0-int32] PASSED [ 84%] +tests/test_stats.py::test_mean[scipy.sparse.csc_array-2d-ax0-bool] PASSED [ 84%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_array-2d-ax0-float32] PASSED [ 84%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_array-2d-ax0-float64] PASSED [ 84%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_array-2d-ax0-int32] PASSED [ 84%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_array-2d-ax0-bool] PASSED [ 84%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax0-float32-sum] PASSED [ 84%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax0-float32-min] PASSED [ 84%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax0-float32-max] PASSED [ 84%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax0-float32-mean] PASSED [ 84%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax0-float32-mean_var] PASSED [ 84%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax0-float32-is_constant] PASSED [ 84%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax0-float64-sum] PASSED [ 84%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax0-float64-min] PASSED [ 84%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax0-float64-max] PASSED [ 84%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax0-float64-mean] PASSED [ 85%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax0-float64-mean_var] PASSED [ 85%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax0-float64-is_constant] PASSED [ 85%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax0-int32-sum] PASSED [ 85%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax0-int32-min] PASSED [ 85%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax0-int32-max] PASSED [ 85%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax0-int32-mean] PASSED [ 85%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax0-int32-mean_var] PASSED [ 85%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-ax0-int32-is_constant] PASSED [ 85%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float32-2d-ax0-float32] PASSED [ 85%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float32-2d-ax0-float64] PASSED [ 85%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float32-2d-ax0-int32] PASSED [ 85%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float32-2d-ax0-bool] PASSED [ 85%] +tests/test_stats.py::test_sum[cupy.ndarray-float32-2d-ax0-float32] SKIPPED [ 85%] +tests/test_stats.py::test_sum[cupy.ndarray-float32-2d-ax0-float64] SKIPPED [ 85%] +tests/test_stats.py::test_sum[cupy.ndarray-float32-2d-ax0-int32] SKIPPED [ 85%] +tests/test_stats.py::test_sum[cupy.ndarray-float32-2d-ax0-bool] SKIPPED [ 85%] +tests/test_stats.py::test_sum[numpy.ndarray-float32-2d-ax0-float32] PASSED [ 85%] +tests/test_stats.py::test_sum[numpy.ndarray-float32-2d-ax0-float64] PASSED [ 85%] +tests/test_stats.py::test_sum[numpy.ndarray-float32-2d-ax0-int32] PASSED [ 85%] +tests/test_stats.py::test_sum[numpy.ndarray-float32-2d-ax0-bool] PASSED [ 85%] +tests/test_stats.py::test_sum_to_int[scipy.sparse.csr_array-2d-ax0] PASSED [ 85%] +tests/test_stats.py::test_min_max[scipy.sparse.csr_array-2d-ax0-min] PASSED [ 85%] +tests/test_stats.py::test_min_max[scipy.sparse.csr_array-2d-ax0-max] PASSED [ 85%] +tests/test_stats.py::test_mean[scipy.sparse.csr_array-2d-ax0-float32] PASSED [ 85%] +tests/test_stats.py::test_mean[scipy.sparse.csr_array-2d-ax0-float64] PASSED [ 85%] +tests/test_stats.py::test_mean[scipy.sparse.csr_array-2d-ax0-int32] PASSED [ 85%] +tests/test_stats.py::test_mean[scipy.sparse.csr_array-2d-ax0-bool] PASSED [ 85%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_array-2d-ax0-float32] PASSED [ 85%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_array-2d-ax0-float64] PASSED [ 85%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_array-2d-ax0-int32] PASSED [ 85%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_array-2d-ax0-bool] PASSED [ 85%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax0-float32-sum] PASSED [ 85%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax0-float32-min] PASSED [ 86%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax0-float32-max] PASSED [ 86%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax0-float32-mean] PASSED [ 86%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax0-float32-mean_var] PASSED [ 86%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax0-float32-is_constant] PASSED [ 86%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax0-float64-sum] PASSED [ 86%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax0-float64-min] PASSED [ 86%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax0-float64-max] PASSED [ 86%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax0-float64-mean] PASSED [ 86%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax0-float64-mean_var] PASSED [ 86%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax0-float64-is_constant] PASSED [ 86%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax0-int32-sum] PASSED [ 86%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax0-int32-min] PASSED [ 86%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax0-int32-max] PASSED [ 86%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax0-int32-mean] PASSED [ 86%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax0-int32-mean_var] PASSED [ 86%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-ax0-int32-is_constant] PASSED [ 86%] +tests/test_stats.py::test_min_max[cupy.ndarray-2d-ax0-min] SKIPPED (...) [ 86%] +tests/test_stats.py::test_min_max[cupy.ndarray-2d-ax0-max] SKIPPED (...) [ 86%] +tests/test_stats.py::test_mean[cupy.ndarray-2d-ax0-float32] SKIPPED [ 86%] +tests/test_stats.py::test_mean[cupy.ndarray-2d-ax0-float64] SKIPPED [ 86%] +tests/test_stats.py::test_mean[cupy.ndarray-2d-ax0-int32] SKIPPED (c...) [ 86%] +tests/test_stats.py::test_mean[cupy.ndarray-2d-ax0-bool] SKIPPED (cu...) [ 86%] +tests/test_stats.py::test_mean_var[cupy.ndarray-2d-ax0-float32] SKIPPED [ 86%] +tests/test_stats.py::test_mean_var[cupy.ndarray-2d-ax0-float64] SKIPPED [ 86%] +tests/test_stats.py::test_mean_var[cupy.ndarray-2d-ax0-int32] SKIPPED [ 86%] +tests/test_stats.py::test_mean_var[cupy.ndarray-2d-ax0-bool] SKIPPED [ 86%] +tests/test_stats.py::test_sum_to_int[numpy.ndarray-2d-ax0] PASSED [ 86%] +tests/test_stats.py::test_min_max[numpy.ndarray-2d-ax0-min] PASSED [ 86%] +tests/test_stats.py::test_min_max[numpy.ndarray-2d-ax0-max] PASSED [ 86%] +tests/test_stats.py::test_mean[numpy.ndarray-2d-ax0-float32] PASSED [ 86%] +tests/test_stats.py::test_mean[numpy.ndarray-2d-ax0-float64] PASSED [ 86%] +tests/test_stats.py::test_mean[numpy.ndarray-2d-ax0-int32] PASSED [ 86%] +tests/test_stats.py::test_mean[numpy.ndarray-2d-ax0-bool] PASSED [ 87%] +tests/test_stats.py::test_mean_var[numpy.ndarray-2d-ax0-float32] PASSED [ 87%] +tests/test_stats.py::test_mean_var[numpy.ndarray-2d-ax0-float64] PASSED [ 87%] +tests/test_stats.py::test_mean_var[numpy.ndarray-2d-ax0-int32] PASSED [ 87%] +tests/test_stats.py::test_mean_var[numpy.ndarray-2d-ax0-bool] PASSED [ 87%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax0-float32-sum] PASSED [ 87%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax0-float32-min] PASSED [ 87%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax0-float32-max] PASSED [ 87%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax0-float32-mean] PASSED [ 87%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax0-float32-mean_var] PASSED [ 87%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax0-float32-is_constant] PASSED [ 87%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax0-float64-sum] PASSED [ 87%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax0-float64-min] PASSED [ 87%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax0-float64-max] PASSED [ 87%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax0-float64-mean] PASSED [ 87%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax0-float64-mean_var] PASSED [ 87%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax0-float64-is_constant] PASSED [ 87%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax0-int32-sum] PASSED [ 87%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax0-int32-min] PASSED [ 87%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax0-int32-max] PASSED [ 87%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax0-int32-mean] PASSED [ 87%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax0-int32-mean_var] PASSED [ 87%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-ax0-int32-is_constant] PASSED [ 87%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float32-2d-all-float32] PASSED [ 87%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float32-2d-all-float64] PASSED [ 87%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float32-2d-all-int32] PASSED [ 87%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float32-2d-all-bool] PASSED [ 87%] +tests/test_stats.py::test_sum_to_int[scipy.sparse.csr_matrix-2d-all] PASSED [ 87%] +tests/test_stats.py::test_min_max[scipy.sparse.csr_matrix-2d-all-min] PASSED [ 87%] +tests/test_stats.py::test_min_max[scipy.sparse.csr_matrix-2d-all-max] PASSED [ 87%] +tests/test_stats.py::test_mean[scipy.sparse.csr_matrix-2d-all-float32] PASSED [ 87%] +tests/test_stats.py::test_mean[scipy.sparse.csr_matrix-2d-all-float64] PASSED [ 87%] +tests/test_stats.py::test_mean[scipy.sparse.csr_matrix-2d-all-int32] PASSED [ 87%] +tests/test_stats.py::test_mean[scipy.sparse.csr_matrix-2d-all-bool] PASSED [ 88%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_matrix-2d-all-float32] PASSED [ 88%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_matrix-2d-all-float64] PASSED [ 88%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_matrix-2d-all-int32] PASSED [ 88%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_matrix-2d-all-bool] PASSED [ 88%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float32-1d-all-float32] SKIPPED [ 88%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float32-1d-all-float64] SKIPPED [ 88%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float32-1d-all-int32] SKIPPED [ 88%] +tests/test_stats.py::test_sum[scipy.sparse.csr_matrix-float32-1d-all-bool] SKIPPED [ 88%] +tests/test_stats.py::test_sum_to_int[scipy.sparse.csr_matrix-1d-all] PASSED [ 88%] +tests/test_stats.py::test_min_max[scipy.sparse.csr_matrix-1d-all-min] PASSED [ 88%] +tests/test_stats.py::test_min_max[scipy.sparse.csr_matrix-1d-all-max] PASSED [ 88%] +tests/test_stats.py::test_mean[scipy.sparse.csr_matrix-1d-all-float32] SKIPPED [ 88%] +tests/test_stats.py::test_mean[scipy.sparse.csr_matrix-1d-all-float64] SKIPPED [ 88%] +tests/test_stats.py::test_mean[scipy.sparse.csr_matrix-1d-all-int32] SKIPPED [ 88%] +tests/test_stats.py::test_mean[scipy.sparse.csr_matrix-1d-all-bool] SKIPPED [ 88%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_matrix-1d-all-float32] SKIPPED [ 88%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_matrix-1d-all-float64] SKIPPED [ 88%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_matrix-1d-all-int32] SKIPPED [ 88%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_matrix-1d-all-bool] SKIPPED [ 88%] +tests/test_sparse.py::test_to_dense[scipy.sparse.csr_matrix-float64-C] PASSED [ 88%] +tests/test_sparse.py::test_to_dense[scipy.sparse.csr_matrix-float64-F] PASSED [ 88%] +tests/test_sparse.py::test_to_dense_benchmark[scipy.sparse.csr_matrix-float64-C] PASSED [ 88%] +tests/test_sparse.py::test_to_dense_benchmark[scipy.sparse.csr_matrix-float64-F] PASSED [ 88%] +tests/test_sparse.py::test_to_dense[scipy.sparse.csr_matrix-float32-C] PASSED [ 88%] +tests/test_sparse.py::test_to_dense[scipy.sparse.csr_matrix-float32-F] PASSED [ 88%] +tests/test_sparse.py::test_to_dense_benchmark[scipy.sparse.csr_matrix-float32-C] PASSED [ 88%] +tests/test_sparse.py::test_to_dense_benchmark[scipy.sparse.csr_matrix-float32-F] PASSED [ 88%] +tests/test_numpy_scipy_sparse.py::test_ndim[scipy.sparse.csr_matrix] PASSED [ 88%] +tests/test_numpy_scipy_sparse.py::test_shape[scipy.sparse.csr_matrix] PASSED [ 88%] +tests/test_numpy_scipy_sparse.py::test_copy[scipy.sparse.csr_matrix-d=i64-i=32] PASSED [ 88%] +tests/test_numpy_scipy_sparse.py::test_copy[scipy.sparse.csr_matrix-d=i64-i=64] PASSED [ 88%] +tests/test_numpy_scipy_sparse.py::test_copy[scipy.sparse.csr_matrix-d=f64-i=32] PASSED [ 88%] +tests/test_numpy_scipy_sparse.py::test_copy[scipy.sparse.csr_matrix-d=f64-i=64] PASSED [ 89%] +tests/test_stats.py::test_is_constant[scipy.sparse.csr_matrix-None] PASSED [ 89%] +tests/test_stats.py::test_is_constant[scipy.sparse.csr_matrix-0] PASSED [ 89%] +tests/test_stats.py::test_is_constant[scipy.sparse.csr_matrix-1] PASSED [ 89%] +tests/test_test_utils.py::test_conv[scipy.sparse.csr_matrix-float32] PASSED [ 89%] +tests/test_test_utils.py::test_conv[scipy.sparse.csr_matrix-float64] PASSED [ 89%] +tests/test_test_utils.py::test_array_types[scipy.sparse.csr_matrix] PASSED [ 89%] +tests/test_test_utils.py::test_session_scoped_array[scipy.sparse.csr_matrix] PASSED [ 89%] +tests/test_to_dense.py::test_to_dense[scipy.sparse.csr_matrix-K-to_cpu_memory] PASSED [ 89%] +tests/test_to_dense.py::test_to_dense[scipy.sparse.csr_matrix-K-not_to_cpu_memory] PASSED [ 89%] +tests/test_to_dense.py::test_to_dense[scipy.sparse.csr_matrix-C-to_cpu_memory] PASSED [ 89%] +tests/test_to_dense.py::test_to_dense[scipy.sparse.csr_matrix-C-not_to_cpu_memory] PASSED [ 89%] +tests/test_to_dense.py::test_to_dense[scipy.sparse.csr_matrix-F-to_cpu_memory] PASSED [ 89%] +tests/test_to_dense.py::test_to_dense[scipy.sparse.csr_matrix-F-not_to_cpu_memory] PASSED [ 89%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float64-1d-all-float32] SKIPPED [ 89%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float64-1d-all-float64] SKIPPED [ 89%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float64-1d-all-int32] SKIPPED [ 89%] +tests/test_stats.py::test_sum[scipy.sparse.csc_array-float64-1d-all-bool] SKIPPED [ 89%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float64-1d-all-float32] PASSED [ 89%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float64-1d-all-float64] PASSED [ 89%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float64-1d-all-int32] PASSED [ 89%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float64-1d-all-bool] PASSED [ 89%] +tests/test_stats.py::test_sum[cupy.ndarray-float64-1d-all-float32] SKIPPED [ 89%] +tests/test_stats.py::test_sum[cupy.ndarray-float64-1d-all-float64] SKIPPED [ 89%] +tests/test_stats.py::test_sum[cupy.ndarray-float64-1d-all-int32] SKIPPED [ 89%] +tests/test_stats.py::test_sum[cupy.ndarray-float64-1d-all-bool] SKIPPED [ 89%] +tests/test_stats.py::test_sum[numpy.ndarray-float64-1d-all-float32] PASSED [ 89%] +tests/test_stats.py::test_sum[numpy.ndarray-float64-1d-all-float64] PASSED [ 89%] +tests/test_stats.py::test_sum[numpy.ndarray-float64-1d-all-int32] PASSED [ 89%] +tests/test_stats.py::test_sum[numpy.ndarray-float64-1d-all-bool] PASSED [ 89%] +tests/test_stats.py::test_sum_to_int[scipy.sparse.csc_array-2d-all] PASSED [ 89%] +tests/test_stats.py::test_min_max[scipy.sparse.csc_array-2d-all-min] PASSED [ 89%] +tests/test_stats.py::test_min_max[scipy.sparse.csc_array-2d-all-max] PASSED [ 89%] +tests/test_stats.py::test_mean[scipy.sparse.csc_array-2d-all-float32] PASSED [ 90%] +tests/test_stats.py::test_mean[scipy.sparse.csc_array-2d-all-float64] PASSED [ 90%] +tests/test_stats.py::test_mean[scipy.sparse.csc_array-2d-all-int32] PASSED [ 90%] +tests/test_stats.py::test_mean[scipy.sparse.csc_array-2d-all-bool] PASSED [ 90%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_array-2d-all-float32] PASSED [ 90%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_array-2d-all-float64] PASSED [ 90%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_array-2d-all-int32] PASSED [ 90%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_array-2d-all-bool] PASSED [ 90%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-all-float32-sum] PASSED [ 90%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-all-float32-min] PASSED [ 90%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-all-float32-max] PASSED [ 90%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-all-float32-mean] PASSED [ 90%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-all-float32-mean_var] PASSED [ 90%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-all-float32-is_constant] PASSED [ 90%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-all-float64-sum] PASSED [ 90%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-all-float64-min] PASSED [ 90%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-all-float64-max] PASSED [ 90%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-all-float64-mean] PASSED [ 90%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-all-float64-mean_var] PASSED [ 90%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-all-float64-is_constant] PASSED [ 90%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-all-int32-sum] PASSED [ 90%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-all-int32-min] PASSED [ 90%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-all-int32-max] PASSED [ 90%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-all-int32-mean] PASSED [ 90%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-all-int32-mean_var] PASSED [ 90%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-2d-all-int32-is_constant] PASSED [ 90%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float32-2d-all-float32] PASSED [ 90%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float32-2d-all-float64] PASSED [ 90%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float32-2d-all-int32] PASSED [ 90%] +tests/test_stats.py::test_sum[scipy.sparse.csr_array-float32-2d-all-bool] PASSED [ 90%] +tests/test_stats.py::test_sum[cupy.ndarray-float32-2d-all-float32] SKIPPED [ 90%] +tests/test_stats.py::test_sum[cupy.ndarray-float32-2d-all-float64] SKIPPED [ 90%] +tests/test_stats.py::test_sum[cupy.ndarray-float32-2d-all-int32] SKIPPED [ 90%] +tests/test_stats.py::test_sum[cupy.ndarray-float32-2d-all-bool] SKIPPED [ 91%] +tests/test_stats.py::test_sum[numpy.ndarray-float32-2d-all-float32] PASSED [ 91%] +tests/test_stats.py::test_sum[numpy.ndarray-float32-2d-all-float64] PASSED [ 91%] +tests/test_stats.py::test_sum[numpy.ndarray-float32-2d-all-int32] PASSED [ 91%] +tests/test_stats.py::test_sum[numpy.ndarray-float32-2d-all-bool] PASSED [ 91%] +tests/test_stats.py::test_sum_to_int[scipy.sparse.csr_array-2d-all] PASSED [ 91%] +tests/test_stats.py::test_min_max[scipy.sparse.csr_array-2d-all-min] PASSED [ 91%] +tests/test_stats.py::test_min_max[scipy.sparse.csr_array-2d-all-max] PASSED [ 91%] +tests/test_stats.py::test_mean[scipy.sparse.csr_array-2d-all-float32] PASSED [ 91%] +tests/test_stats.py::test_mean[scipy.sparse.csr_array-2d-all-float64] PASSED [ 91%] +tests/test_stats.py::test_mean[scipy.sparse.csr_array-2d-all-int32] PASSED [ 91%] +tests/test_stats.py::test_mean[scipy.sparse.csr_array-2d-all-bool] PASSED [ 91%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_array-2d-all-float32] PASSED [ 91%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_array-2d-all-float64] PASSED [ 91%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_array-2d-all-int32] PASSED [ 91%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_array-2d-all-bool] PASSED [ 91%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-all-float32-sum] PASSED [ 91%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-all-float32-min] PASSED [ 91%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-all-float32-max] PASSED [ 91%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-all-float32-mean] PASSED [ 91%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-all-float32-mean_var] PASSED [ 91%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-all-float32-is_constant] PASSED [ 91%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-all-float64-sum] PASSED [ 91%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-all-float64-min] PASSED [ 91%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-all-float64-max] PASSED [ 91%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-all-float64-mean] PASSED [ 91%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-all-float64-mean_var] PASSED [ 91%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-all-float64-is_constant] PASSED [ 91%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-all-int32-sum] PASSED [ 91%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-all-int32-min] PASSED [ 91%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-all-int32-max] PASSED [ 91%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-all-int32-mean] PASSED [ 91%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-all-int32-mean_var] PASSED [ 91%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-2d-all-int32-is_constant] PASSED [ 92%] +tests/test_stats.py::test_min_max[cupy.ndarray-2d-all-min] SKIPPED (...) [ 92%] +tests/test_stats.py::test_min_max[cupy.ndarray-2d-all-max] SKIPPED (...) [ 92%] +tests/test_stats.py::test_mean[cupy.ndarray-2d-all-float32] SKIPPED [ 92%] +tests/test_stats.py::test_mean[cupy.ndarray-2d-all-float64] SKIPPED [ 92%] +tests/test_stats.py::test_mean[cupy.ndarray-2d-all-int32] SKIPPED (c...) [ 92%] +tests/test_stats.py::test_mean[cupy.ndarray-2d-all-bool] SKIPPED (cu...) [ 92%] +tests/test_stats.py::test_mean_var[cupy.ndarray-2d-all-float32] SKIPPED [ 92%] +tests/test_stats.py::test_mean_var[cupy.ndarray-2d-all-float64] SKIPPED [ 92%] +tests/test_stats.py::test_mean_var[cupy.ndarray-2d-all-int32] SKIPPED [ 92%] +tests/test_stats.py::test_mean_var[cupy.ndarray-2d-all-bool] SKIPPED [ 92%] +tests/test_stats.py::test_sum_to_int[numpy.ndarray-2d-all] PASSED [ 92%] +tests/test_stats.py::test_min_max[numpy.ndarray-2d-all-min] PASSED [ 92%] +tests/test_stats.py::test_min_max[numpy.ndarray-2d-all-max] PASSED [ 92%] +tests/test_stats.py::test_mean[numpy.ndarray-2d-all-float32] PASSED [ 92%] +tests/test_stats.py::test_mean[numpy.ndarray-2d-all-float64] PASSED [ 92%] +tests/test_stats.py::test_mean[numpy.ndarray-2d-all-int32] PASSED [ 92%] +tests/test_stats.py::test_mean[numpy.ndarray-2d-all-bool] PASSED [ 92%] +tests/test_stats.py::test_mean_var[numpy.ndarray-2d-all-float32] PASSED [ 92%] +tests/test_stats.py::test_mean_var[numpy.ndarray-2d-all-float64] PASSED [ 92%] +tests/test_stats.py::test_mean_var[numpy.ndarray-2d-all-int32] PASSED [ 92%] +tests/test_stats.py::test_mean_var[numpy.ndarray-2d-all-bool] PASSED [ 92%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-all-float32-sum] PASSED [ 92%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-all-float32-min] PASSED [ 92%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-all-float32-max] PASSED [ 92%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-all-float32-mean] PASSED [ 92%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-all-float32-mean_var] PASSED [ 92%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-all-float32-is_constant] PASSED [ 92%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-all-float64-sum] PASSED [ 92%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-all-float64-min] PASSED [ 92%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-all-float64-max] PASSED [ 92%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-all-float64-mean] PASSED [ 92%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-all-float64-mean_var] PASSED [ 92%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-all-float64-is_constant] PASSED [ 93%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-all-int32-sum] PASSED [ 93%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-all-int32-min] PASSED [ 93%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-all-int32-max] PASSED [ 93%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-all-int32-mean] PASSED [ 93%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-all-int32-mean_var] PASSED [ 93%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-2d-all-int32-is_constant] PASSED [ 93%] +tests/test_stats.py::test_sum_to_int[scipy.sparse.csc_array-1d-all] PASSED [ 93%] +tests/test_stats.py::test_min_max[scipy.sparse.csc_array-1d-all-min] PASSED [ 93%] +tests/test_stats.py::test_min_max[scipy.sparse.csc_array-1d-all-max] PASSED [ 93%] +tests/test_stats.py::test_mean[scipy.sparse.csc_array-1d-all-float32] SKIPPED [ 93%] +tests/test_stats.py::test_mean[scipy.sparse.csc_array-1d-all-float64] SKIPPED [ 93%] +tests/test_stats.py::test_mean[scipy.sparse.csc_array-1d-all-int32] SKIPPED [ 93%] +tests/test_stats.py::test_mean[scipy.sparse.csc_array-1d-all-bool] SKIPPED [ 93%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_array-1d-all-float32] SKIPPED [ 93%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_array-1d-all-float64] SKIPPED [ 93%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_array-1d-all-int32] SKIPPED [ 93%] +tests/test_stats.py::test_mean_var[scipy.sparse.csc_array-1d-all-bool] SKIPPED [ 93%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-1d-all-float32-sum] PASSED [ 93%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-1d-all-float32-min] PASSED [ 93%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-1d-all-float32-max] PASSED [ 93%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-1d-all-float32-mean] PASSED [ 93%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-1d-all-float32-mean_var] PASSED [ 93%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-1d-all-float32-is_constant] PASSED [ 93%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-1d-all-float64-sum] PASSED [ 93%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-1d-all-float64-min] PASSED [ 93%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-1d-all-float64-max] PASSED [ 93%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-1d-all-float64-mean] PASSED [ 93%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-1d-all-float64-mean_var] PASSED [ 93%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-1d-all-float64-is_constant] PASSED [ 93%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-1d-all-int32-sum] PASSED [ 93%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-1d-all-int32-min] PASSED [ 93%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-1d-all-int32-max] PASSED [ 93%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-1d-all-int32-mean] PASSED [ 94%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-1d-all-int32-mean_var] PASSED [ 94%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csc_array-1d-all-int32-is_constant] PASSED [ 94%] +tests/test_sparse.py::test_to_dense[scipy.sparse.csc_array-float64-C] PASSED [ 94%] +tests/test_sparse.py::test_to_dense[scipy.sparse.csc_array-float64-F] PASSED [ 94%] +tests/test_sparse.py::test_to_dense_benchmark[scipy.sparse.csc_array-float64-C] PASSED [ 94%] +tests/test_sparse.py::test_to_dense_benchmark[scipy.sparse.csc_array-float64-F] PASSED [ 94%] +tests/test_sparse.py::test_to_dense[scipy.sparse.csc_array-float32-C] PASSED [ 94%] +tests/test_sparse.py::test_to_dense[scipy.sparse.csc_array-float32-F] PASSED [ 94%] +tests/test_sparse.py::test_to_dense_benchmark[scipy.sparse.csc_array-float32-C] PASSED [ 94%] +tests/test_sparse.py::test_to_dense_benchmark[scipy.sparse.csc_array-float32-F] PASSED [ 94%] +tests/test_numpy_scipy_sparse.py::test_ndim[scipy.sparse.csc_array] PASSED [ 94%] +tests/test_numpy_scipy_sparse.py::test_shape[scipy.sparse.csc_array] PASSED [ 94%] +tests/test_numpy_scipy_sparse.py::test_copy[scipy.sparse.csc_array-d=i64-i=32] PASSED [ 94%] +tests/test_numpy_scipy_sparse.py::test_copy[scipy.sparse.csc_array-d=i64-i=64] PASSED [ 94%] +tests/test_numpy_scipy_sparse.py::test_copy[scipy.sparse.csc_array-d=f64-i=32] PASSED [ 94%] +tests/test_numpy_scipy_sparse.py::test_copy[scipy.sparse.csc_array-d=f64-i=64] PASSED [ 94%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csc_array-1d-ax0-sum] SKIPPED [ 94%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csc_array-1d-ax0-min] SKIPPED [ 94%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csc_array-1d-ax0-max] SKIPPED [ 94%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csc_array-1d-ax0-mean] SKIPPED [ 94%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csc_array-1d-ax0-mean_var] SKIPPED [ 94%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csc_array-1d-ax0-is_constant] SKIPPED [ 94%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csc_array-2d-ax3-sum] PASSED [ 94%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csc_array-2d-ax3-min] PASSED [ 94%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csc_array-2d-ax3-max] PASSED [ 94%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csc_array-2d-ax3-mean] PASSED [ 94%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csc_array-2d-ax3-mean_var] PASSED [ 94%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csc_array-2d-ax3-is_constant] PASSED [ 94%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csc_array-2d-axneg-sum] PASSED [ 94%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csc_array-2d-axneg-min] PASSED [ 94%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csc_array-2d-axneg-max] PASSED [ 94%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csc_array-2d-axneg-mean] PASSED [ 94%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csc_array-2d-axneg-mean_var] PASSED [ 95%] +tests/test_stats.py::test_ndim_error[scipy.sparse.csc_array-2d-axneg-is_constant] PASSED [ 95%] +tests/test_stats.py::test_mean_var_sparse_64[scipy.sparse.csc_array-0] PASSED [ 95%] +tests/test_stats.py::test_mean_var_sparse_64[scipy.sparse.csc_array-1] PASSED [ 95%] +tests/test_stats.py::test_mean_var_sparse_32[scipy.sparse.csc_array] SUBPASSED(stat='mean') [ 95%] +tests/test_stats.py::test_mean_var_sparse_32[scipy.sparse.csc_array] SUBPASSED(stat='var') [ 95%] +tests/test_stats.py::test_mean_var_sparse_32[scipy.sparse.csc_array] PASSED [ 95%] +tests/test_stats.py::test_is_constant[scipy.sparse.csc_array-None] PASSED [ 95%] +tests/test_stats.py::test_is_constant[scipy.sparse.csc_array-0] PASSED [ 95%] +tests/test_stats.py::test_is_constant[scipy.sparse.csc_array-1] PASSED [ 95%] +tests/test_test_utils.py::test_conv[scipy.sparse.csc_array-float32] PASSED [ 95%] +tests/test_test_utils.py::test_conv[scipy.sparse.csc_array-float64] PASSED [ 95%] +tests/test_test_utils.py::test_array_types[scipy.sparse.csc_array] PASSED [ 95%] +tests/test_test_utils.py::test_session_scoped_array[scipy.sparse.csc_array] PASSED [ 95%] +tests/test_to_dense.py::test_to_dense[scipy.sparse.csc_array-K-to_cpu_memory] PASSED [ 95%] +tests/test_to_dense.py::test_to_dense[scipy.sparse.csc_array-K-not_to_cpu_memory] PASSED [ 95%] +tests/test_to_dense.py::test_to_dense[scipy.sparse.csc_array-C-to_cpu_memory] PASSED [ 95%] +tests/test_to_dense.py::test_to_dense[scipy.sparse.csc_array-C-not_to_cpu_memory] PASSED [ 95%] +tests/test_to_dense.py::test_to_dense[scipy.sparse.csc_array-F-to_cpu_memory] PASSED [ 95%] +tests/test_to_dense.py::test_to_dense[scipy.sparse.csc_array-F-not_to_cpu_memory] PASSED [ 95%] +tests/test_stats.py::test_sum_to_int[scipy.sparse.csr_array-1d-all] PASSED [ 95%] +tests/test_stats.py::test_min_max[scipy.sparse.csr_array-1d-all-min] PASSED [ 95%] +tests/test_stats.py::test_min_max[scipy.sparse.csr_array-1d-all-max] PASSED [ 95%] +tests/test_stats.py::test_mean[scipy.sparse.csr_array-1d-all-float32] PASSED [ 95%] +tests/test_stats.py::test_mean[scipy.sparse.csr_array-1d-all-float64] PASSED [ 95%] +tests/test_stats.py::test_mean[scipy.sparse.csr_array-1d-all-int32] PASSED [ 95%] +tests/test_stats.py::test_mean[scipy.sparse.csr_array-1d-all-bool] PASSED [ 95%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_array-1d-all-float32] PASSED [ 95%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_array-1d-all-float64] PASSED [ 95%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_array-1d-all-int32] PASSED [ 95%] +tests/test_stats.py::test_mean_var[scipy.sparse.csr_array-1d-all-bool] PASSED [ 95%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-1d-all-float32-sum] PASSED [ 95%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-1d-all-float32-min] PASSED [ 95%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-1d-all-float32-max] PASSED [ 95%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-1d-all-float32-mean] PASSED [ 95%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-1d-all-float32-mean_var] PASSED [ 96%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-1d-all-float32-is_constant] PASSED [ 96%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-1d-all-float64-sum] PASSED [ 96%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-1d-all-float64-min] PASSED [ 96%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-1d-all-float64-max] PASSED [ 96%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-1d-all-float64-mean] PASSED [ 96%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-1d-all-float64-mean_var] PASSED [ 96%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-1d-all-float64-is_constant] PASSED [ 96%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-1d-all-int32-sum] PASSED [ 96%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-1d-all-int32-min] PASSED [ 96%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-1d-all-int32-max] PASSED [ 96%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-1d-all-int32-mean] PASSED [ 96%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-1d-all-int32-mean_var] PASSED [ 96%] +tests/test_stats.py::test_stats_benchmark[scipy.sparse.csr_array-1d-all-int32-is_constant] PASSED [ 96%] +tests/test_stats.py::test_min_max[cupy.ndarray-1d-all-min] SKIPPED (...) [ 96%] +tests/test_stats.py::test_min_max[cupy.ndarray-1d-all-max] SKIPPED (...) [ 96%] +tests/test_stats.py::test_mean[cupy.ndarray-1d-all-float32] SKIPPED [ 96%] +tests/test_stats.py::test_mean[cupy.ndarray-1d-all-float64] SKIPPED [ 96%] +tests/test_stats.py::test_mean[cupy.ndarray-1d-all-int32] SKIPPED (c...) [ 96%] +tests/test_stats.py::test_mean[cupy.ndarray-1d-all-bool] SKIPPED (cu...) [ 96%] +tests/test_stats.py::test_mean_var[cupy.ndarray-1d-all-float32] SKIPPED [ 96%] +tests/test_stats.py::test_mean_var[cupy.ndarray-1d-all-float64] SKIPPED [ 96%] +tests/test_stats.py::test_mean_var[cupy.ndarray-1d-all-int32] SKIPPED [ 96%] +tests/test_stats.py::test_mean_var[cupy.ndarray-1d-all-bool] SKIPPED [ 96%] +tests/test_stats.py::test_sum_to_int[numpy.ndarray-1d-all] PASSED [ 96%] +tests/test_stats.py::test_min_max[numpy.ndarray-1d-all-min] PASSED [ 96%] +tests/test_stats.py::test_min_max[numpy.ndarray-1d-all-max] PASSED [ 96%] +tests/test_stats.py::test_mean[numpy.ndarray-1d-all-float32] PASSED [ 96%] +tests/test_stats.py::test_mean[numpy.ndarray-1d-all-float64] PASSED [ 96%] +tests/test_stats.py::test_mean[numpy.ndarray-1d-all-int32] PASSED [ 96%] +tests/test_stats.py::test_mean[numpy.ndarray-1d-all-bool] PASSED [ 96%] +tests/test_stats.py::test_mean_var[numpy.ndarray-1d-all-float32] PASSED [ 96%] +tests/test_stats.py::test_mean_var[numpy.ndarray-1d-all-float64] PASSED [ 96%] +tests/test_stats.py::test_mean_var[numpy.ndarray-1d-all-int32] PASSED [ 97%] +tests/test_stats.py::test_mean_var[numpy.ndarray-1d-all-bool] PASSED [ 97%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-1d-all-float32-sum] PASSED [ 97%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-1d-all-float32-min] PASSED [ 97%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-1d-all-float32-max] PASSED [ 97%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-1d-all-float32-mean] PASSED [ 97%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-1d-all-float32-mean_var] PASSED [ 97%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-1d-all-float32-is_constant] PASSED [ 97%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-1d-all-float64-sum] PASSED [ 97%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-1d-all-float64-min] PASSED [ 97%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-1d-all-float64-max] PASSED [ 97%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-1d-all-float64-mean] PASSED [ 97%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-1d-all-float64-mean_var] PASSED [ 97%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-1d-all-float64-is_constant] PASSED [ 97%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-1d-all-int32-sum] PASSED [ 97%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-1d-all-int32-min] PASSED [ 97%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-1d-all-int32-max] PASSED [ 97%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-1d-all-int32-mean] PASSED [ 97%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-1d-all-int32-mean_var] PASSED [ 97%] +tests/test_stats.py::test_stats_benchmark[numpy.ndarray-1d-all-int32-is_constant] PASSED [ 97%] +tests/test_stats.py::test_mean_var_sparse_64[scipy.sparse.csr_array-0] PASSED [ 97%] +tests/test_stats.py::test_mean_var_sparse_64[scipy.sparse.csr_array-1] PASSED [ 97%] +tests/test_stats.py::test_mean_var_sparse_32[scipy.sparse.csr_array] SUBPASSED(stat='mean') [ 97%] +tests/test_stats.py::test_mean_var_sparse_32[scipy.sparse.csr_array] SUBPASSED(stat='var') [ 97%] +tests/test_stats.py::test_mean_var_sparse_32[scipy.sparse.csr_array] PASSED [ 97%] +tests/test_stats.py::test_is_constant[scipy.sparse.csr_array-None] PASSED [ 97%] +tests/test_stats.py::test_is_constant[scipy.sparse.csr_array-0] PASSED [ 97%] +tests/test_stats.py::test_is_constant[scipy.sparse.csr_array-1] PASSED [ 97%] +tests/test_test_utils.py::test_conv[scipy.sparse.csr_array-float32] PASSED [ 97%] +tests/test_test_utils.py::test_conv[scipy.sparse.csr_array-float64] PASSED [ 97%] +tests/test_test_utils.py::test_array_types[scipy.sparse.csr_array] PASSED [ 97%] +tests/test_test_utils.py::test_session_scoped_array[scipy.sparse.csr_array] PASSED [ 97%] +tests/test_to_dense.py::test_to_dense[scipy.sparse.csr_array-K-to_cpu_memory] PASSED [ 97%] +tests/test_to_dense.py::test_to_dense[scipy.sparse.csr_array-K-not_to_cpu_memory] PASSED [ 97%] +tests/test_to_dense.py::test_to_dense[scipy.sparse.csr_array-C-to_cpu_memory] PASSED [ 97%] +tests/test_to_dense.py::test_to_dense[scipy.sparse.csr_array-C-not_to_cpu_memory] PASSED [ 98%] +tests/test_to_dense.py::test_to_dense[scipy.sparse.csr_array-F-to_cpu_memory] PASSED [ 98%] +tests/test_to_dense.py::test_to_dense[scipy.sparse.csr_array-F-not_to_cpu_memory] PASSED [ 98%] +tests/test_stats.py::test_ndim_error[cupy.ndarray-1d-ax0-sum] SKIPPED [ 98%] +tests/test_stats.py::test_ndim_error[cupy.ndarray-1d-ax0-min] SKIPPED [ 98%] +tests/test_stats.py::test_ndim_error[cupy.ndarray-1d-ax0-max] SKIPPED [ 98%] +tests/test_stats.py::test_ndim_error[cupy.ndarray-1d-ax0-mean] SKIPPED [ 98%] +tests/test_stats.py::test_ndim_error[cupy.ndarray-1d-ax0-mean_var] SKIPPED [ 98%] +tests/test_stats.py::test_ndim_error[cupy.ndarray-1d-ax0-is_constant] SKIPPED [ 98%] +tests/test_stats.py::test_ndim_error[cupy.ndarray-2d-ax3-sum] SKIPPED [ 98%] +tests/test_stats.py::test_ndim_error[cupy.ndarray-2d-ax3-min] SKIPPED [ 98%] +tests/test_stats.py::test_ndim_error[cupy.ndarray-2d-ax3-max] SKIPPED [ 98%] +tests/test_stats.py::test_ndim_error[cupy.ndarray-2d-ax3-mean] SKIPPED [ 98%] +tests/test_stats.py::test_ndim_error[cupy.ndarray-2d-ax3-mean_var] SKIPPED [ 98%] +tests/test_stats.py::test_ndim_error[cupy.ndarray-2d-ax3-is_constant] SKIPPED [ 98%] +tests/test_stats.py::test_ndim_error[cupy.ndarray-2d-axneg-sum] SKIPPED [ 98%] +tests/test_stats.py::test_ndim_error[cupy.ndarray-2d-axneg-min] SKIPPED [ 98%] +tests/test_stats.py::test_ndim_error[cupy.ndarray-2d-axneg-max] SKIPPED [ 98%] +tests/test_stats.py::test_ndim_error[cupy.ndarray-2d-axneg-mean] SKIPPED [ 98%] +tests/test_stats.py::test_ndim_error[cupy.ndarray-2d-axneg-mean_var] SKIPPED [ 98%] +tests/test_stats.py::test_ndim_error[cupy.ndarray-2d-axneg-is_constant] SKIPPED [ 98%] +tests/test_stats.py::test_is_constant[cupy.ndarray-None] SKIPPED (cu...) [ 98%] +tests/test_stats.py::test_is_constant[cupy.ndarray-0] SKIPPED (cupy ...) [ 98%] +tests/test_stats.py::test_is_constant[cupy.ndarray-1] SKIPPED (cupy ...) [ 98%] +tests/test_test_utils.py::test_conv[cupy.ndarray-float32] SKIPPED (c...) [ 98%] +tests/test_test_utils.py::test_conv[cupy.ndarray-float64] SKIPPED (c...) [ 98%] +tests/test_test_utils.py::test_array_types[cupy.ndarray] SKIPPED (cu...) [ 98%] +tests/test_test_utils.py::test_session_scoped_array[cupy.ndarray] SKIPPED [ 98%] +tests/test_to_dense.py::test_to_dense[cupy.ndarray-K-to_cpu_memory] SKIPPED [ 98%] +tests/test_to_dense.py::test_to_dense[cupy.ndarray-K-not_to_cpu_memory] SKIPPED [ 98%] +tests/test_to_dense.py::test_to_dense[cupy.ndarray-C-to_cpu_memory] SKIPPED [ 98%] +tests/test_to_dense.py::test_to_dense[cupy.ndarray-C-not_to_cpu_memory] SKIPPED [ 98%] +tests/test_to_dense.py::test_to_dense[cupy.ndarray-F-to_cpu_memory] SKIPPED [ 98%] +tests/test_to_dense.py::test_to_dense[cupy.ndarray-F-not_to_cpu_memory] SKIPPED [ 99%] +tests/test_stats.py::test_ndim_error[numpy.ndarray-1d-ax0-sum] PASSED [ 99%] +tests/test_stats.py::test_ndim_error[numpy.ndarray-1d-ax0-min] PASSED [ 99%] +tests/test_stats.py::test_ndim_error[numpy.ndarray-1d-ax0-max] PASSED [ 99%] +tests/test_stats.py::test_ndim_error[numpy.ndarray-1d-ax0-mean] PASSED [ 99%] +tests/test_stats.py::test_ndim_error[numpy.ndarray-1d-ax0-mean_var] PASSED [ 99%] +tests/test_stats.py::test_ndim_error[numpy.ndarray-1d-ax0-is_constant] PASSED [ 99%] +tests/test_stats.py::test_ndim_error[numpy.ndarray-2d-ax3-sum] PASSED [ 99%] +tests/test_stats.py::test_ndim_error[numpy.ndarray-2d-ax3-min] PASSED [ 99%] +tests/test_stats.py::test_ndim_error[numpy.ndarray-2d-ax3-max] PASSED [ 99%] +tests/test_stats.py::test_ndim_error[numpy.ndarray-2d-ax3-mean] PASSED [ 99%] +tests/test_stats.py::test_ndim_error[numpy.ndarray-2d-ax3-mean_var] PASSED [ 99%] +tests/test_stats.py::test_ndim_error[numpy.ndarray-2d-ax3-is_constant] PASSED [ 99%] +tests/test_stats.py::test_ndim_error[numpy.ndarray-2d-axneg-sum] PASSED [ 99%] +tests/test_stats.py::test_ndim_error[numpy.ndarray-2d-axneg-min] PASSED [ 99%] +tests/test_stats.py::test_ndim_error[numpy.ndarray-2d-axneg-max] PASSED [ 99%] +tests/test_stats.py::test_ndim_error[numpy.ndarray-2d-axneg-mean] PASSED [ 99%] +tests/test_stats.py::test_ndim_error[numpy.ndarray-2d-axneg-mean_var] PASSED [ 99%] +tests/test_stats.py::test_ndim_error[numpy.ndarray-2d-axneg-is_constant] PASSED [ 99%] +tests/test_stats.py::test_is_constant[numpy.ndarray-None] PASSED [ 99%] +tests/test_stats.py::test_is_constant[numpy.ndarray-0] PASSED [ 99%] +tests/test_stats.py::test_is_constant[numpy.ndarray-1] PASSED [ 99%] +tests/test_test_utils.py::test_conv[numpy.ndarray-float32] PASSED [ 99%] +tests/test_test_utils.py::test_conv[numpy.ndarray-float64] PASSED [ 99%] +tests/test_test_utils.py::test_array_types[numpy.ndarray] PASSED [ 99%] +tests/test_test_utils.py::test_session_scoped_array[numpy.ndarray] PASSED [ 99%] +tests/test_to_dense.py::test_to_dense[numpy.ndarray-K-to_cpu_memory] PASSED [ 99%] +tests/test_to_dense.py::test_to_dense[numpy.ndarray-K-not_to_cpu_memory] PASSED [ 99%] +tests/test_to_dense.py::test_to_dense[numpy.ndarray-C-to_cpu_memory] PASSED [ 99%] +tests/test_to_dense.py::test_to_dense[numpy.ndarray-C-not_to_cpu_memory] PASSED [ 99%] +tests/test_to_dense.py::test_to_dense[numpy.ndarray-F-to_cpu_memory] PASSED [ 99%] +tests/test_to_dense.py::test_to_dense[numpy.ndarray-F-not_to_cpu_memory] FAILED [ 99%] +tests/test_stats.py::tests.test_stats.pbmc64k_reduced_raw SKIPPED [100%] + +=================================== FAILURES =================================== +_______________ test_to_dense[numpy.ndarray-F-not_to_cpu_memory] _______________ + +array_type = numpy.ndarray + + @pytest.mark.parametrize("to_cpu_memory", [True, False], ids=["to_cpu_memory", "not_to_cpu_memory"]) + @pytest.mark.parametrize("order", argvalues=["K", "C", "F"]) # “A” behaves like “K” + def test_to_dense(array_type: ArrayType[Array], *, order: Literal["K", "C", "F"], to_cpu_memory: bool) -> None: + x = array_type([[1, 2, 3], [4, 5, 6]], dtype=np.float32) + if not to_cpu_memory and array_type.cls in {types.CSCDataset, types.CSRDataset}: + with pytest.raises(ValueError, match=r"to_cpu_memory must be True if x is an CS\{R,C\}Dataset"): + to_dense(x, order=order, to_cpu_memory=to_cpu_memory) + return + + with ( + pytest.warns(RuntimeWarning, match="Dask can not be made to emit F-contiguous arrays") + if (order == "F" and array_type.cls is types.DaskArray) + else nullcontext(), + WARNS_NUMBA if issubclass(array_type.cls, types.CSBase) and not find_spec("numba") else nullcontext(), + ): + arr = to_dense(x, order=order, to_cpu_memory=to_cpu_memory) + + assert_expected_cls(x, arr, to_cpu_memory=to_cpu_memory) + assert arr.shape == (2, 3) + # Dask is unreliable: for explicit “F”, we emit a warning (tested above), for “K” we just ignore the result + if not (array_type.cls is types.DaskArray and order in {"F", "K"}): +> assert_expected_order(x, arr, order=order) + +tests/test_to_dense.py:50: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +orig = array([[1., 2., 3.], + [4., 5., 6.]], dtype=float32) +converted = array([[1., 2., 3.], + [4., 5., 6.]], dtype=float32) + + def assert_expected_order(orig: ExtendedArray, converted: Array, *, order: Literal["K", "C", "F"]) -> None: + match converted: + case types.CupyArray() | np.ndarray(): + orders = {order_exp: converted.flags[f"{order_exp}_CONTIGUOUS"] for order_exp in (get_orders(orig) if order == "K" else {order})} # type: ignore[index] +> assert any(orders.values()), orders +E AssertionError: {'F': False} +E assert False +E + where False = any(dict_values([False])) +E + where dict_values([False]) = () +E + where = {'F': False}.values + +tests/test_to_dense.py:81: AssertionError +=========================== short test summary info ============================ +FAILED tests/test_to_dense.py::test_to_dense[numpy.ndarray-F-not_to_cpu_memory] += 1 failed, 2116 passed, 1179 skipped, 4 subtests passed in 241.21s (0:04:01) == diff --git a/pyproject.toml b/pyproject.toml index fd9457f..5b566ab 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,15 +23,16 @@ classifiers = [ "Programming Language :: Python :: 3.14", ] dynamic = [ "description", "readme", "version" ] -dependencies = [ "numpy>=2" ] +dependencies = [ "numpy>=2", "array-api-compat" ] optional-dependencies.accel = [ "numba>=0.57" ] optional-dependencies.dask = [ "dask>=2023.6.1" ] optional-dependencies.full = [ "fast-array-utils[accel,dask,sparse]", "h5py", "zarr" ] optional-dependencies.sparse = [ "scipy>=1.13" ] optional-dependencies.testing = [ "packaging" ] +optional-dependencies.jax = [ "jax", "jaxlib" ] +urls."Documentation" = "https://icb-fast-array-utils.readthedocs-hosted.com/" urls."Issue Tracker" = "https://github.com/scverse/fast-array-utils/issues" urls."Source Code" = "https://github.com/scverse/fast-array-utils" -urls.Documentation = "https://icb-fast-array-utils.readthedocs-hosted.com/" entry-points.pytest11.fast_array_utils = "testing.fast_array_utils.pytest" [dependency-groups] @@ -48,6 +49,15 @@ doc = [ "sphinx>=9.0.1", "sphinx-autofixture>=0.4.1", ] +# for update-mypy-hook +mypy = [ + "fast-array-utils[full]", + "scipy-stubs", + # TODO: replace sphinx with this: { include-group = "doc" }, + "sphinx", + "types-docutils", + { include-group = "test" }, +] test-min = [ "coverage[toml]", "fast-array-utils[sparse,testing]", # include sparse for testing numba-less to_dense @@ -64,7 +74,7 @@ envs.docs.dependency-groups = [ "doc" ] envs.docs.scripts.build = "sphinx-build -M html docs docs/_build" envs.docs.scripts.clean = "git clean -fdX docs" envs.docs.scripts.open = "python -m webbrowser -t docs/_build/html/index.html" -envs.hatch-test.default-args = [] +envs.hatch-test.default-args = [ ] envs.hatch-test.dependency-groups = [ "test-min" ] # TODO: remove scipy once https://github.com/pypa/hatch/pull/2127 is released envs.hatch-test.extra-dependencies = [ "ipykernel", "ipycytoscape", "scipy" ] @@ -89,7 +99,7 @@ metadata.hooks.docstring-description = {} metadata.hooks.fancy-pypi-readme.content-type = "text/x-rst" metadata.hooks.fancy-pypi-readme.fragments = [ { path = "README.rst", start-after = ".. begin" } ] version.source = "vcs" -version.raw-options = { local_scheme = "no-local-version" } # be able to publish dev version +version.raw-options = { local_scheme = "no-local-version" } # be able to publish dev version [tool.uv] override-dependencies = [ "sphinx>=9.0.1" ] @@ -130,7 +140,7 @@ lint.per-file-ignores."typings/**/*.pyi" = [ "A002", "F403", "F405", "N801" ] lint.allowed-confusables = [ "×", "’" ] lint.flake8-bugbear.extend-immutable-calls = [ "testing.fast_array_utils.Flags" ] lint.flake8-copyright.notice-rgx = "SPDX-License-Identifier: MPL-2\\.0" -lint.flake8-type-checking.exempt-modules = [] +lint.flake8-type-checking.exempt-modules = [ ] lint.flake8-type-checking.strict = true lint.isort.known-first-party = [ "fast_array_utils" ] lint.isort.lines-after-imports = 2 diff --git a/src/fast_array_utils/conv/_to_dense.py b/src/fast_array_utils/conv/_to_dense.py index 6b5de88..b4817e5 100644 --- a/src/fast_array_utils/conv/_to_dense.py +++ b/src/fast_array_utils/conv/_to_dense.py @@ -27,6 +27,13 @@ def to_dense_( order: Literal["K", "A", "C", "F"] = "K", to_cpu_memory: bool = False, ) -> NDArray[Any] | types.CupyArray | types.DaskArray: + import array_api_compat + + if not isinstance(x, np.ndarray) and array_api_compat.is_array_api_obj(x): + if to_cpu_memory: + return np.asarray(x, order=order) + return x # already dense + del to_cpu_memory # it already is return np.asarray(x, order=order) diff --git a/src/fast_array_utils/stats/_generic_ops.py b/src/fast_array_utils/stats/_generic_ops.py index 79df974..bcd9ca1 100644 --- a/src/fast_array_utils/stats/_generic_ops.py +++ b/src/fast_array_utils/stats/_generic_ops.py @@ -42,13 +42,20 @@ def generic_op( axis: Literal[0, 1] | None = None, dtype: DTypeLike | None = None, keep_cupy_as_array: bool = False, -) -> NDArray[Any] | np.number[Any] | types.CupyArray | types.DaskArray: +) -> NDArray[Any] | np.number[Any] | types.CupyArray | types.DaskArray: # switch to Any later del keep_cupy_as_array if TYPE_CHECKING: # these are never passed to this fallback function, but `singledispatch` wants them assert not isinstance(x, types.CSBase | types.DaskArray | types.CupyArray | types.CupyCSMatrix) # np supports these, but doesn’t know it. (TODO: test cupy) assert not isinstance(x, types.ZarrArray | types.H5Dataset) + + # doing array_api_compat first + import array_api_compat + + if array_api_compat.is_array_api_obj(x): + xp = array_api_compat.array_namespace(x) + return getattr(xp, op)(x, axis=axis, **_dtype_kw(dtype, op)) return cast("NDArray[Any] | np.number[Any]", _run_numpy_op(x, op, axis=axis, dtype=dtype)) diff --git a/src/fast_array_utils/stats/_is_constant.py b/src/fast_array_utils/stats/_is_constant.py index 1ac95d3..69bc2c6 100644 --- a/src/fast_array_utils/stats/_is_constant.py +++ b/src/fast_array_utils/stats/_is_constant.py @@ -15,6 +15,8 @@ from numpy.typing import NDArray +# checking if all values in an array are the same + @singledispatch def is_constant_( @@ -22,7 +24,20 @@ def is_constant_( /, *, axis: Literal[0, 1] | None = None, -) -> bool | NDArray[np.bool] | types.CupyArray | types.DaskArray: # pragma: no cover +) -> bool | NDArray[np.bool] | types.CupyArray | types.DaskArray: # switch to Any later + + import array_api_compat + + if array_api_compat.is_array_api_obj(a): + xp = array_api_compat.array_namespace(a) + match axis: + case None: + return bool((a == xp.reshape(a, (-1,))[0]).all()) + case 0: + return is_constant_(a.T, axis=1) # reusing axis = 1 + case 1: + b = xp.broadcast_to(a[:, 0:1], a.shape) + return (a == b).all(axis=1) raise NotImplementedError diff --git a/src/fast_array_utils/stats/_power.py b/src/fast_array_utils/stats/_power.py index 8387836..da10d56 100644 --- a/src/fast_array_utils/stats/_power.py +++ b/src/fast_array_utils/stats/_power.py @@ -28,6 +28,13 @@ def power[Arr: Array](x: Arr, n: int, /, dtype: DTypeLike | None = None) -> Arr: def _power(x: Array, n: int, /, dtype: DTypeLike | None = None) -> Array: if TYPE_CHECKING: assert not isinstance(x, types.DaskArray | types.CSBase | types.CupyCSMatrix) + + import array_api_compat + + if array_api_compat.is_array_api_obj(x): + xp = array_api_compat.array_namespace(x) + return xp.pow(x, n) if dtype is None else xp.pow(x.astype(dtype), n) + return x**n if dtype is None else np.power(x, n, dtype=dtype) # type: ignore[operator] diff --git a/tests/test_jax.py b/tests/test_jax.py new file mode 100644 index 0000000..0615116 --- /dev/null +++ b/tests/test_jax.py @@ -0,0 +1,121 @@ +# SPDX-License-Identifier: MPL-2.0 +from __future__ import annotations + +from importlib.util import find_spec +from typing import TYPE_CHECKING + +import numpy as np +import pytest + +from fast_array_utils import stats +from fast_array_utils.conv import to_dense + + +if TYPE_CHECKING: + from typing import Any, Literal + +pytestmark = pytest.mark.skipif(not find_spec("jax"), reason="jax not installed") + +if find_spec("jax"): + # enabling 64-bit precision in JAX as it defaults to 32-bit only + # problem as mean_var passes dtype= np.float64 internally, which crashes without this fix + import jax + + jax.config.update("jax_enable_x64", True) + + +@pytest.fixture +def jax_arr() -> Any: + import jax.numpy as jnp + + return jnp.array([[1, 0], [2, 0], [3, 0]], dtype=jnp.float32) + + +@pytest.mark.parametrize("axis", [None, 0, 1]) +def test_sum(jax_arr: Any, axis: Literal[0, 1] | None) -> None: + import jax.numpy as jnp + + result = stats.sum(jax_arr, axis=axis) + expected = jnp.sum(jax_arr, axis=axis) + assert jnp.array_equal(result, expected) + + +@pytest.mark.parametrize("axis", [None, 0, 1]) +def test_min(jax_arr: Any, axis: Literal[0, 1] | None) -> None: + import jax.numpy as jnp + + result = stats.min(jax_arr, axis=axis) + expected = jnp.min(jax_arr, axis=axis) + assert jnp.array_equal(result, expected) + + +@pytest.mark.parametrize("axis", [None, 0, 1]) +def test_max(jax_arr: Any, axis: Literal[0, 1] | None) -> None: + import jax.numpy as jnp + + result = stats.max(jax_arr, axis=axis) + expected = jnp.max(jax_arr, axis=axis) + assert jnp.array_equal(result, expected) + + +@pytest.mark.parametrize("axis", [None, 0, 1]) +def test_mean(jax_arr: Any, axis: Literal[0, 1] | None) -> None: + import jax.numpy as jnp + + result = stats.mean(jax_arr, axis=axis) + expected = jnp.mean(jax_arr, axis=axis) + assert jnp.allclose(result, expected) + + +@pytest.mark.parametrize("axis", [None, 0, 1]) +def test_is_constant(axis: Literal[0, 1] | None) -> None: + import jax.numpy as jnp + + x = jnp.array( + [ + [0, 0, 1, 1], + [0, 0, 1, 1], + [0, 0, 0, 0], + [0, 0, 0, 0], + [0, 0, 1, 0], + [0, 0, 0, 0], + ], + dtype=jnp.float32, + ) + result = stats.is_constant(x, axis=axis) + + if axis is None: + assert bool(result) is False + elif axis == 0: + expected = jnp.array([True, True, False, False]) + assert jnp.array_equal(result, expected) + else: + expected = jnp.array([False, False, True, True, False, True]) + assert jnp.array_equal(result, expected) + + +@pytest.mark.parametrize("axis", [None, 0, 1]) +def test_mean_var(jax_arr: Any, axis: Literal[0, 1] | None) -> None: + import jax.numpy as jnp + + mean, var = stats.mean_var(jax_arr, axis=axis, correction=1) + + mean_expected = jnp.mean(jax_arr, axis=axis) + n = jax_arr.size if axis is None else jax_arr.shape[axis] + var_expected = jnp.var(jax_arr, axis=axis) * n / (n - 1) + + assert jnp.allclose(mean, mean_expected) + assert jnp.allclose(var, var_expected) + + +def test_to_dense(jax_arr: Any) -> None: + import jax.numpy as jnp + + result = to_dense(jax_arr) + assert jnp.array_equal(result, jax_arr) + + +def test_to_dense_to_cpu(jax_arr: Any) -> None: + result = to_dense(jax_arr, to_cpu_memory=True) + assert isinstance(result, np.ndarray) + np.testing.assert_array_equal(result, np.asarray(jax_arr)) From 53730506d4c18b55076b72ff769274a4a0f23c7a Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 23 Mar 2026 10:37:24 +0000 Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- 03_23_2026.log | 8 ++++---- pyproject.toml | 12 ++++++------ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/03_23_2026.log b/03_23_2026.log index 82944c1..566206d 100644 --- a/03_23_2026.log +++ b/03_23_2026.log @@ -3321,7 +3321,7 @@ array_type = numpy.ndarray with pytest.raises(ValueError, match=r"to_cpu_memory must be True if x is an CS\{R,C\}Dataset"): to_dense(x, order=order, to_cpu_memory=to_cpu_memory) return - + with ( pytest.warns(RuntimeWarning, match="Dask can not be made to emit F-contiguous arrays") if (order == "F" and array_type.cls is types.DaskArray) @@ -3329,15 +3329,15 @@ array_type = numpy.ndarray WARNS_NUMBA if issubclass(array_type.cls, types.CSBase) and not find_spec("numba") else nullcontext(), ): arr = to_dense(x, order=order, to_cpu_memory=to_cpu_memory) - + assert_expected_cls(x, arr, to_cpu_memory=to_cpu_memory) assert arr.shape == (2, 3) # Dask is unreliable: for explicit “F”, we emit a warning (tested above), for “K” we just ignore the result if not (array_type.cls is types.DaskArray and order in {"F", "K"}): > assert_expected_order(x, arr, order=order) -tests/test_to_dense.py:50: -_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +tests/test_to_dense.py:50: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ orig = array([[1., 2., 3.], [4., 5., 6.]], dtype=float32) diff --git a/pyproject.toml b/pyproject.toml index 5b566ab..b235ceb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,16 +23,16 @@ classifiers = [ "Programming Language :: Python :: 3.14", ] dynamic = [ "description", "readme", "version" ] -dependencies = [ "numpy>=2", "array-api-compat" ] +dependencies = [ "array-api-compat", "numpy>=2" ] optional-dependencies.accel = [ "numba>=0.57" ] optional-dependencies.dask = [ "dask>=2023.6.1" ] optional-dependencies.full = [ "fast-array-utils[accel,dask,sparse]", "h5py", "zarr" ] +optional-dependencies.jax = [ "jax", "jaxlib" ] optional-dependencies.sparse = [ "scipy>=1.13" ] optional-dependencies.testing = [ "packaging" ] -optional-dependencies.jax = [ "jax", "jaxlib" ] -urls."Documentation" = "https://icb-fast-array-utils.readthedocs-hosted.com/" urls."Issue Tracker" = "https://github.com/scverse/fast-array-utils/issues" urls."Source Code" = "https://github.com/scverse/fast-array-utils" +urls.Documentation = "https://icb-fast-array-utils.readthedocs-hosted.com/" entry-points.pytest11.fast_array_utils = "testing.fast_array_utils.pytest" [dependency-groups] @@ -74,7 +74,7 @@ envs.docs.dependency-groups = [ "doc" ] envs.docs.scripts.build = "sphinx-build -M html docs docs/_build" envs.docs.scripts.clean = "git clean -fdX docs" envs.docs.scripts.open = "python -m webbrowser -t docs/_build/html/index.html" -envs.hatch-test.default-args = [ ] +envs.hatch-test.default-args = [] envs.hatch-test.dependency-groups = [ "test-min" ] # TODO: remove scipy once https://github.com/pypa/hatch/pull/2127 is released envs.hatch-test.extra-dependencies = [ "ipykernel", "ipycytoscape", "scipy" ] @@ -99,7 +99,7 @@ metadata.hooks.docstring-description = {} metadata.hooks.fancy-pypi-readme.content-type = "text/x-rst" metadata.hooks.fancy-pypi-readme.fragments = [ { path = "README.rst", start-after = ".. begin" } ] version.source = "vcs" -version.raw-options = { local_scheme = "no-local-version" } # be able to publish dev version +version.raw-options = { local_scheme = "no-local-version" } # be able to publish dev version [tool.uv] override-dependencies = [ "sphinx>=9.0.1" ] @@ -140,7 +140,7 @@ lint.per-file-ignores."typings/**/*.pyi" = [ "A002", "F403", "F405", "N801" ] lint.allowed-confusables = [ "×", "’" ] lint.flake8-bugbear.extend-immutable-calls = [ "testing.fast_array_utils.Flags" ] lint.flake8-copyright.notice-rgx = "SPDX-License-Identifier: MPL-2\\.0" -lint.flake8-type-checking.exempt-modules = [ ] +lint.flake8-type-checking.exempt-modules = [] lint.flake8-type-checking.strict = true lint.isort.known-first-party = [ "fast_array_utils" ] lint.isort.lines-after-imports = 2