code: def _test_run_with_empty_data_frame(
      cmdline_args: List[str], test_run_params: test_run
  ):
      from unittest.mock import patch
  
      try:
          gokart.run(cmdline_args=cmdline_args)
      except SystemExit as e:
          assert (
              e.code == 0
          ), f"original workflow does not run properly. It exited with error code {e}."
  
      with CmdlineParser.global_instance(cmdline_args) as cp:
          all_tasks = _get_all_tasks(cp.get_task_obj())
  
      if test_run_params.namespace is not None:
          all_tasks = [
              t
              for t in all_tasks
              if t.task_namespace == test_run_params.namespace
          ]
  
      with patch(
          "gokart.TaskOnKart.load_data_frame",
          new=lambda *args, required_columns=None, **kwargs: pd.DataFrame(
              columns=list(required_columns)
          ),
      ):
          with patch(
              "gokart.TaskOnKart.dump", new=lambda *args, **kwargs: None
          ):
              test_status_list = [
                  _run_with_test_status(t) for t in all_tasks
              ]
  
      test_logger.info(
          "gokart test results:\n"
          + "\n".join(s.format() for s in test_status_list)
      )
      if any(s.fail() for s in test_status_list):
          sys.exit(1)
  
file_path: gokart/gokart/testing/check_if_run_with_empty_data_frame.py
imports: import logging
  import sys
  from typing import List, Optional
  import luigi
  import pandas
  from luigi.cmdline_parser import CmdlineParser
  import gokart
label_desc: Use image node_id 3 for calling a global function with example usage: _test_run_with_empty_data_frame(cmdline_args, test_run_params) without return types