code: def test_dag_options(shared_ray_instance):
      @ray.remote(num_gpus=100)
      def foo():
          pass
  
      assert foo.bind().get_options() == {
          "max_calls": 1,
          "num_gpus": 100,
      }
      assert foo.options(num_gpus=300).bind().get_options() == {
          "num_gpus": 300
      }
      assert foo.options(num_cpus=500).bind().get_options() == {
          "num_gpus": 100,
          "num_cpus": 500,
      }
  
      @ray.remote
      def bar():
          pass
  
      assert bar.bind().get_options() == {}
      assert bar.options(num_gpus=100).bind().get_options() == {
          "num_gpus": 100
      }
  
      @ray.remote(num_gpus=100)
      class Foo:
          pass
  
      assert Foo.bind().get_options() == {"num_gpus": 100}
      assert Foo.options(num_gpus=300).bind().get_options() == {
          "num_gpus": 300
      }
      assert Foo.options(num_cpus=500).bind().get_options() == {
          "num_gpus": 100,
          "num_cpus": 500,
      }
  
      @ray.remote
      class Bar:
          pass
  
      assert Bar.bind().get_options() == {}
  
file_path: ray/python/ray/dag/tests/test_function_dag.py
imports: import pytest
  import ray
label_desc: Use image node_id 6 for calling a global function with example usage: test_dag_options(shared_ray_instance) without return types