code: def test_time(start_ray, tmpdir, monkeypatch):
      monkeypatch.setenv("RAY_AIR_LOCAL_CACHE_DIR", str(tmpdir))
  
      experiment_name = "test_time"
      num_samples = 2
  
      def train_fn(config):
          for i in range(3):
              with create_dict_checkpoint(
                  {"dummy": "data"}
              ) as checkpoint:
                  ray.train.report(
                      {
                          "epoch": i,
                          "a": random.random(),
                          "b/c": random.random(),
                          "d": random.random(),
                      },
                      checkpoint=checkpoint,
                  )
  
      tuner = tune.Tuner(
          train_fn,
          param_space={
              f"hp{i}": tune.uniform(0, 1) for i in range(100)
          },
          tune_config=tune.TuneConfig(num_samples=num_samples),
          run_config=ray.train.RunConfig(name=experiment_name),
      )
      results = tuner.fit()
      times = []
      for _ in range(5):
          start = time.time()
          subprocess.check_call(["tune", "ls", results.experiment_path])
          times += [time.time() - start]
  
      print("Average CLI time: ", sum(times) / len(times))
      assert sum(times) / len(times) < 2, "CLI is taking too long!"
  
imports: import click
  import os
  import pytest
  import random
  import subprocess
  import sys
  import time
  from unittest import mock
  import ray
  import ray.train
  from ray import tune
  from ray.rllib import _register_all
  from ray.tune.cli import commands
  from ray.tune.result import CONFIG_PREFIX
  from ray.train.tests.util import create_dict_checkpoint
label_desc: Use image node_id 2 for calling a global function with example usage: test_time(start_ray, tmpdir, monkeypatch) without return types