code: def test_row_norms(failure_logger, sparse_random_dataset, square):
      X_np, X, X_sparse_np, X_sparse = sparse_random_dataset
  
      cu_norms = cu_row_norms(X_np, squared=square)
      sk_norms = sk_row_norms(X, squared=square)
      assert_allclose(cu_norms, sk_norms)
  
      cu_norms = cu_row_norms(X_sparse, squared=square)
      sk_norms = sk_row_norms(X_sparse_np, squared=square)
      assert_allclose(cu_norms, sk_norms)
  
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 4 for calling a global function with example usage: test_row_norms(failure_logger, sparse_random_dataset, square) without return types