code: def test_custom_cli_loaders():
      custom_loader_path = os.path.join(
          os.path.dirname(__file__), "..", "data"
      )
      os.environ["DTALE_CLI_LOADERS"] = custom_loader_path
  
      reload(loaders)
      reload(script)
  
      with ExitStack() as stack:
          mock_show = stack.enter_context(
              mock.patch("dtale.cli.script.show", mock.Mock())
          )
          args = ["--port", "9999", "--testcli"]
  
          script.main(args, standalone_mode=False)
          mock_show.assert_called_once()
          _, kwargs = mock_show.call_args
          assert kwargs["data_loader"] is not None
          pdt.assert_frame_equal(
              kwargs["data_loader"](),
              pd.DataFrame([dict(security_id=1, foo=1.5)]),
          )
  
          mock_show.reset_mock()
          args = ["--port", "9999", "--testcli2-prop", "foo"]
          script.main(args, standalone_mode=False)
          _, kwargs = mock_show.call_args
          assert kwargs["data_loader"] is not None
          pdt.assert_frame_equal(
              kwargs["data_loader"](),
              pd.DataFrame([dict(security_id=1, foo="foo")]),
          )
  
imports: import os
  import sys
  from imp import reload
  import mock
  import pandas
  import pytest
  from six import PY3
  from dtale.cli import loaders, script
  from dtale.cli.clickutils import run
  from dtale.pandas_util import check_pandas_version
  from tests import ExitStack, pdt
label_desc: Use image node_id 8 for calling a global function with example usage: test_custom_cli_loaders() without return types