code: def test_custom_classes(ray_start_regular_shared):
      class Foo:
          def __init__(self, x):
              self.x = x
  
      @ray.remote
      class Actor:
          def __init__(self, f2):
              self.f1 = Foo(1)
              self.f2 = f2
  
          def get_values1(self):
              return self.f1, self.f2
  
          def get_values2(self, f3):
              return self.f1, self.f2, f3
  
      actor = Actor.remote(Foo(2))
      results1 = ray.get(actor.get_values1.remote())
      assert results1[0].x == 1
      assert results1[1].x == 2
      results2 = ray.get(actor.get_values2.remote(Foo(3)))
      assert results2[0].x == 1
      assert results2[1].x == 2
      assert results2[2].x == 3
  
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 19 for calling a global function with example usage: test_custom_classes(ray_start_regular_shared) and returns: self,  self, self,  self,  f3