code: def gcs_server():
      port = find_free_port()
      env = os.environ.copy()
      args = [sys.executable, "-m", "testbench", "--port", str(port)]
      proc = None
      try:
          # check first if testbench module is available
          import testbench  # noqa:F401
  
          # start server
          proc = subprocess.Popen(args, env=env)
          # Make sure the server is alive.
          if proc.poll() is not None:
              pytest.skip(
                  f"Command {args} did not start server successfully!"
              )
      except (ModuleNotFoundError, OSError) as e:
          pytest.skip(f"Command {args} failed to execute: {e}")
      else:
          yield {
              "connection": ("localhost", port),
              "process": proc,
          }
      finally:
          if proc is not None:
              proc.kill()
              proc.wait()
  
imports: import functools
  import os
  import pathlib
  import subprocess
  import sys
  import time
  import urllib.request
  import pytest
  from pytest_lazyfixture import lazy_fixture
  import hypothesis
  from ..conftest import groups, defaults
  from pyarrow import set_timezone_db_path
  from pyarrow.util import find_free_port
label_desc: Use image node_id 11 for calling a global function with example usage: gcs_server() without return types