code: def test_keyword_args(ray_start_regular_shared):
      @ray.remote
      class Actor:
          def __init__(self, arg0, arg1=1, arg2="a"):
              self.arg0 = arg0
              self.arg1 = arg1
              self.arg2 = arg2
  
          def get_values(self, arg0, arg1=2, arg2="b"):
              return (
                  self.arg0 + arg0,
                  self.arg1 + arg1,
                  self.arg2 + arg2,
              )
  
      actor = Actor.remote(0)
      assert ray.get(actor.get_values.remote(1)) == (1, 3, "ab")
  
      actor = Actor.remote(1, 2)
      assert ray.get(actor.get_values.remote(2, 3)) == (3, 5, "ab")
  
      actor = Actor.remote(1, 2, "c")
      assert ray.get(actor.get_values.remote(2, 3, "d")) == (3, 5, "cd")
  
      actor = Actor.remote(1, arg2="c")
      assert ray.get(actor.get_values.remote(0, arg2="d")) == (
          1,
          3,
          "cd",
      )
      assert ray.get(actor.get_values.remote(0, arg2="d", arg1=0)) == (
          1,
          1,
          "cd",
      )
  
      actor = Actor.remote(1, arg2="c", arg1=2)
      assert ray.get(actor.get_values.remote(0, arg2="d")) == (
          1,
          4,
          "cd",
      )
      assert ray.get(actor.get_values.remote(0, arg2="d", arg1=0)) == (
          1,
          2,
          "cd",
      )
      assert ray.get(
          actor.get_values.remote(arg2="d", arg1=0, arg0=2)
      ) == (3, 2, "cd")
  
      # Make sure we get an exception if the constructor is called
      # incorrectly.
      with pytest.raises(TypeError):
          actor = Actor.remote()
  
      with pytest.raises(TypeError):
          actor = Actor.remote(0, 1, 2, arg3=3)
  
      with pytest.raises(TypeError):
          actor = Actor.remote(0, arg0=1)
  
      # Make sure we get an exception if the method is called incorrectly.
      actor = Actor.remote(1)
      with pytest.raises(Exception):
          ray.get(actor.get_values.remote())
  
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 14 for calling a global function with example usage: test_keyword_args(ray_start_regular_shared) and returns: unknown,  unknown,  unknown