code: def test_workspace_executor_success_status(
      dvc, scm, exp_stage, queue_type
  ):
      workspace_queue = getattr(dvc.experiments, queue_type)
      queue_entry = workspace_queue.put(
          params={"params.yaml": ["foo=1"]},
          targets=exp_stage.addressing,
          name="success",
      )
      name = workspace_queue._EXEC_NAME or queue_entry.stash_rev
      infofile = workspace_queue.get_infofile_path(name)
      entry, executor = workspace_queue.get()
      rev = entry.stash_rev
      exec_result = executor.reproduce(
          info=executor.info,
          rev=rev,
          infofile=infofile,
      )
      executor_info = ExecutorInfo.load_json(infofile)
      assert executor_info.status == TaskStatus.SUCCESS
      if exec_result.ref_info:
          workspace_queue.collect_executor(
              dvc.experiments, executor, exec_result
          )
      executor.cleanup(infofile)
  
      if queue_type == "tempdir_queue":
          executor_info = ExecutorInfo.load_json(infofile)
          assert executor_info.status == TaskStatus.FINISHED
      else:
          assert not os.path.exists(infofile)
  
file_path: dvc/tests/unit/repo/experiments/test_executor_status.py
imports: import os
  import pytest
  from dvc.exceptions import ReproductionError
  from dvc.repo.experiments.executor.base import ExecutorInfo, TaskStatus
  from dvc.repo.experiments.queue.tasks import cleanup_exp, collect_exp, setup_exp
label_desc: Use image node_id 3 for calling a global function with example usage: test_workspace_executor_success_status(dvc, scm, exp_stage, queue_type) without return types