code: def test_min_max_axis(
      failure_logger, sparse_random_dataset, axis, ignore_nan
  ):
      _, X, X_sparse_np, X_sparse = sparse_random_dataset
      X_sparse[0, 0] = np.nan
      X_sparse_np[0, 0] = np.nan
      cu_min, cu_max = cu_min_max_axis(
          X_sparse, axis=axis, ignore_nan=ignore_nan
      )
      sk_min, sk_max = sk_min_max_axis(
          X_sparse_np, axis=axis, ignore_nan=ignore_nan
      )
  
      if axis is not None:
          assert_allclose(cu_min, sk_min)
          assert_allclose(cu_max, sk_max)
      else:
          assert cu_min == sk_min or (
              cp.isnan(cu_min) and np.isnan(sk_min)
          )
          assert cu_max == sk_max or (
              cp.isnan(cu_max) and np.isnan(sk_max)
          )
  
      with pytest.raises(Exception):
          cu_min_max_axis(X, axis=axis, ignore_nan=ignore_nan)
  
imports: from cuml.testing.test_preproc_utils import assert_allclose
  from sklearn.utils.sparsefuncs import inplace_csr_column_scale, inplace_csr_row_scale, inplace_column_scale, mean_variance_axis, min_max_axis
  from cuml._thirdparty.sklearn.utils.sparsefuncs import inplace_csr_column_scale, inplace_csr_row_scale, inplace_column_scale, mean_variance_axis, min_max_axis
  from sklearn.utils.extmath import row_norms, _incremental_mean_and_var
  from cuml._thirdparty.sklearn.utils.extmath import row_norms, _incremental_mean_and_var
  from cuml._thirdparty.sklearn.utils.validation import check_X_y
  from cuml.internals.safe_imports import gpu_only_import
  import pytest
  from cuml.internals.safe_imports import cpu_only_import
label_desc: Use image node_id 10 for calling a global function with example usage: test_min_max_axis(failure_logger, sparse_random_dataset, axis, ignore_nan) without return types