code: def test_basic(ray_start_regular):
      a = Actor.remote(0)
      with InputNode() as i:
          dag = a.inc.bind(i)
  
      compiled_dag = dag.experimental_compile()
  
      for i in range(3):
          output_channel = compiled_dag.execute(1)
          # TODO(swang): Replace with fake ObjectRef.
          result = output_channel.begin_read()
          assert result == i + 1
          output_channel.end_read()
  
      # Note: must teardown before starting a new Ray session, otherwise you'll get
      # a segfault from the dangling monitor thread upon the new Ray init.
      compiled_dag.teardown()
  
imports: import logging
  import os
  import random
  import sys
  import time
  import pytest
  import ray
  import ray.cluster_utils
  from ray.exceptions import RaySystemError
  from ray.dag import InputNode, MultiOutputNode
  from ray.tests.conftest import *
label_desc: Use image node_id 1 for calling a global function with example usage: test_basic(ray_start_regular) without return types