code: def test_run_custom_searcher_experiment(
      tmp_path: pathlib.Path,
  ) -> None:
      # example searcher script
      config = conf.load_config(conf.fixtures_path("no_op/single.yaml"))
      config["searcher"] = {
          "name": "custom",
          "metric": "validation_error",
          "smaller_is_better": True,
          "unit": "batches",
      }
      config["name"] = "single"
      config["description"] = "custom searcher"
      search_method = searchers.SingleSearchMethod(config, 500)
      search_runner = searcher.LocalSearchRunner(
          search_method, tmp_path
      )
      experiment_id = search_runner.run(
          config, model_dir=conf.fixtures_path("no_op")
      )
  
      assert client._determined is not None
      session = client._determined._session
      response = bindings.get_GetExperiment(
          session, experimentId=experiment_id
      )
      assert response.experiment.numTrials == 1
  
imports: import logging
  import pathlib
  import subprocess
  import tempfile
  import time
  from typing import Iterator, List, Optional
  import pytest
  from urllib3 import connectionpool
  from determined import searcher
  from determined.common import util
  from determined.common.api import bindings
  from determined.experimental import client
  from tests import api_utils
  from tests import config
  from tests import experiment
  from tests.fixtures.custom_searcher import searchers
label_desc: Use image node_id 3 for calling a global function with example usage: test_run_custom_searcher_experiment(tmp_path) without return types