code: def test_actor_inheritance(ray_start_regular_shared):
      class NonActorBase:
          def __init__(self):
              pass
  
      # Test that an actor class can inherit from a non-actor class.
      @ray.remote
      class ActorBase(NonActorBase):
          def __init__(self):
              pass
  
      # Test that you can't instantiate an actor class directly.
      with pytest.raises(
          Exception, match="cannot be instantiated directly"
      ):
          ActorBase()
  
      # Test that you can't inherit from an actor class.
      with pytest.raises(
          ActorClassInheritanceException,
          match="Inheriting from actor classes is not currently supported.",
      ):
  
          class Derived(ActorBase):
              def __init__(self):
                  pass
  
imports: import datetime
  import os
  import random
  import sys
  import tempfile
  import numpy
  import pytest
  import ray
  from ray import cloudpickle
  from ray._private import ray_constants
  from ray._private.test_utils import client_test_enabled, wait_for_condition, wait_for_pid_to_exit
  from ray.actor import ActorClassInheritanceException
  from ray.tests.client_test_utils import create_remote_signal_actor
  from ray._private.test_utils import SignalActor
  import setproctitle
label_desc: Use image node_id 24 for calling a global function with example usage: test_actor_inheritance(ray_start_regular_shared) without return types