code: def test_task_pool_resource_reporting(ray_start_10_cpus_shared):
      input_op = InputDataBuffer(
          make_ref_bundles([[SMALL_STR] for i in range(100)])
      )
      op = MapOperator.create(
          _mul2_map_data_prcessor,
          input_op=input_op,
          name="TestMapper",
          compute_strategy=TaskPoolStrategy(),
      )
      assert op.current_resource_usage() == ExecutionResources(
          cpu=0, gpu=0, object_store_memory=0
      )
      op.start(ExecutionOptions())
      op.add_input(input_op.get_next(), 0)
      op.add_input(input_op.get_next(), 0)
      usage = op.current_resource_usage()
      assert usage.cpu == 2, usage
      assert usage.gpu == 0, usage
      assert usage.object_store_memory == pytest.approx(
          1280, rel=0.5
      ), usage
  
file_path: ray/python/ray/data/tests/test_executor_resource_management.py
imports: import pytest
  import ray
  from ray.data._internal.compute import ActorPoolStrategy, TaskPoolStrategy
  from ray.data._internal.execution.interfaces import ExecutionOptions, ExecutionResources
  from ray.data._internal.execution.operators.input_data_buffer import InputDataBuffer
  from ray.data._internal.execution.operators.map_operator import MapOperator
  from ray.data._internal.execution.util import make_ref_bundles
  from ray.data.tests.conftest import *
  from ray.data.tests.test_operators import _mul2_map_data_prcessor
  from ray.data.tests.util import run_op_tasks_sync
label_desc: Use image node_id 4 for calling a global function with example usage: test_task_pool_resource_reporting(ray_start_10_cpus_shared) without return types