code: def test_dataframe_cum_reduction(setup, check_ref_counts, func_name):
      def compute(data, **kwargs):
          return getattr(data, func_name)(**kwargs)
  
      data = pd.DataFrame(np.random.rand(20, 10))
      r = compute(md.DataFrame(data))
      pd.testing.assert_frame_equal(compute(data), r.execute().fetch())
  
      r = compute(md.DataFrame(data, chunk_size=3))
      pd.testing.assert_frame_equal(compute(data), r.execute().fetch())
  
      r = compute(md.DataFrame(data, chunk_size=3), axis=1)
      pd.testing.assert_frame_equal(
          compute(data, axis=1), r.execute().fetch()
      )
  
      # test null
      np_data = np.random.rand(20, 10)
      np_data[np_data > 0.6] = np.nan
      data = pd.DataFrame(np_data)
  
      r = compute(md.DataFrame(data, chunk_size=3))
      pd.testing.assert_frame_equal(compute(data), r.execute().fetch())
  
      r = compute(md.DataFrame(data, chunk_size=3), skipna=False)
      pd.testing.assert_frame_equal(
          compute(data, skipna=False), r.execute().fetch()
      )
  
      r = compute(md.DataFrame(data, chunk_size=3), skipna=False)
      pd.testing.assert_frame_equal(
          compute(data, skipna=False), r.execute().fetch()
      )
  
      # test numeric_only
      data = pd.DataFrame(
          np.random.rand(10, 10),
          index=np.random.randint(-100, 100, size=(10,)),
          columns=[np.random.bytes(10) for _ in range(10)],
      )
      r = compute(md.DataFrame(data, chunk_size=2))
      pd.testing.assert_frame_equal(compute(data), r.execute().fetch())
  
      r = compute(md.DataFrame(data, chunk_size=3), axis="columns")
      pd.testing.assert_frame_equal(
          compute(data, axis="columns"), r.execute().fetch()
      )
  
imports: from typing import NamedTuple
  import numpy
  import pytest
  import pandas
  from ....None import dataframe
  from ....config import option_context
  from ....session import get_default_session
  from ....tests.core import require_cudf, require_cupy
  from ....utils import lazy_import, pd_release_version
  from ...None import CustomReduction, NamedAgg
  from ...base import to_gpu
label_desc: Use image node_id 18 for calling a global function with example usage: test_dataframe_cum_reduction(setup, check_ref_counts, func_name) and returns: getattr