code: def test_worker_registration_failure_after_driver_exit(shutdown_only):
      info = ray.init(num_cpus=1)
  
      driver_code = """
  import ray
  import time
  
  
  ray.init(address="{}")
  
  @ray.remote
  def foo():
      pass
  
  [foo.remote() for _ in range(100)]
  
  ray.shutdown()
      """.format(
          info["address"]
      )
  
      def worker_registered():
          return len(get_workers()) == 1
  
      wait_for_condition(worker_registered)
  
      before = 1
      run_string_as_driver(driver_code)
  
      # wait for a while to let workers register
      time.sleep(2)
      wait_for_condition(lambda: len(get_workers()) <= before)
  
file_path: ray/python/ray/tests/test_multi_tenancy.py
imports: import os
  import sys
  import time
  import pytest
  import numpy
  import ray
  from ray.core.generated import common_pb2
  from ray.core.generated import node_manager_pb2, node_manager_pb2_grpc
  from ray._private.test_utils import wait_for_condition, run_string_as_driver, run_string_as_driver_nonblocking
  from ray._private.utils import init_grpc_channel
label_desc: Use image node_id 8 for calling a global function with example usage: test_worker_registration_failure_after_driver_exit(shutdown_only) and returns: unknown