code: def test_name_with_underscore(path=None):
      ds = Dataset(path).create(force=True)
  
      # we are using the presence of a managed branch as a proxy indicator
      # for a crippled FS, were we cannot trust the executable bit
      # which is our only indicator in the absence of a file extension
      if not ds.repo.is_managed_branch():
          # Procedure name with underscore can't be reached directly with a DATALAD_
          # environment variable.
          with patch.dict(
              "os.environ",
              {
                  "DATALAD_PROCEDURES_PRINT_ARGS_CALL__FORMAT": "%s {script}"
                  % sys.executable
              },
          ):
              with assert_raises(ValueError):
                  ds.run_procedure(spec=["print_args"])
  
      # But it can be set via DATALAD_CONFIG_OVERRIDES_JSON.
      with patch.dict(
          "os.environ",
          {
              "DATALAD_CONFIG_OVERRIDES_JSON": json.dumps(
                  {
                      "datalad.procedures.print_args.call-format": "%s {script}"
                      % sys.executable
                  }
              )
          },
      ):
          ds.config.reload()
          ds.run_procedure(spec=["print_args"])
  
imports: import json
  import os.path
  import sys
  from unittest.mock import patch
  from datalad.api import run_procedure
  from datalad.cmd import KillOutput, WitlessRunner
  from datalad.distribution.dataset import Dataset
  from datalad.support.exceptions import CommandError, InsufficientArgumentsError
  from datalad.tests.utils_pytest import OBSCURE_FILENAME, assert_false, assert_in_results, assert_not_in_results, assert_raises, assert_repo_status, assert_result_count, assert_true, eq_, known_failure_windows, ok_file_has_content, patch_config, with_tempfile, with_tree, xfail_buggy_annex_info
  from datalad.utils import chpwd, quote_cmdlinearg, swallow_outputs
label_desc: Use image node_id 9 for calling a global function with example usage: test_name_with_underscore(path) without return types