code: def test_calculate_remaining_timeout():
      # Always return `None` or negative value.
      assert (
          calculate_remaining_timeout(
              timeout_s=None,
              start_time_s=100,
              curr_time_s=101,
          )
          is None
      )
  
      assert (
          calculate_remaining_timeout(
              timeout_s=-1,
              start_time_s=100,
              curr_time_s=101,
          )
          == -1
      )
  
      # Return delta from start.
      assert (
          calculate_remaining_timeout(
              timeout_s=10,
              start_time_s=100,
              curr_time_s=101,
          )
          == 9
      )
  
      assert (
          calculate_remaining_timeout(
              timeout_s=100,
              start_time_s=100,
              curr_time_s=101.1,
          )
          == 98.9
      )
  
      # Never return a negative timeout once it has elapsed.
      assert (
          calculate_remaining_timeout(
              timeout_s=10,
              start_time_s=100,
              curr_time_s=111,
          )
          == 0
      )
  
imports: import asyncio
  import json
  import os
  import time
  from unittest.mock import patch
  import numpy
  import pytest
  from fastapi.encoders import jsonable_encoder
  import ray
  from ray import serve
  from ray._private.resource_spec import HEAD_NODE_RESOURCE_NAME
  from ray._private.test_utils import wait_for_condition
  from ray.serve._private.test_utils import MockTimer
  from ray.serve._private.utils import MetricsPusher, calculate_remaining_timeout, get_all_live_placement_group_names, get_current_actor_id, get_head_node_id, is_running_in_asyncio_loop, merge_dict, msgpack_deserialize, msgpack_serialize, override_runtime_envs_except_env_vars, serve_encoders, snake_to_camel_case
  from ray.serve.tests.common.remote_uris import TEST_DAG_PINNED_URI, TEST_DEPLOY_GROUP_PINNED_URI
label_desc: Use image node_id 9 for calling a global function with example usage: test_calculate_remaining_timeout() without return types