code: def setup(tmpdir):
      """
      Fixture used for individual test setup and teardown. This ensures each
      Dataset object starts with the same state and cleans up when the test is
      done.
      """
      # FIXME: this relies on dataset features (unload) which themselves are
      # being tested in this module.
      for dataset in ALL_DATASETS:
          dataset.unload()
      gc.collect()
  
      datasets.set_download_dir(tmpdir.name)
  
      yield
  
      # teardown
      for dataset in ALL_DATASETS:
          dataset.unload()
      gc.collect()
  
imports: import os
  import gc
  from pathlib import Path
  from tempfile import TemporaryDirectory
  import pandas
  import pytest
  import cudf
  import dask_cudf
  from cugraph.structure import Graph
  from cugraph.testing import RAPIDS_DATASET_ROOT_DIR_PATH, ALL_DATASETS, WEIGHTED_DATASETS, SMALL_DATASETS, BENCHMARKING_DATASETS
  from cugraph import datasets
  from cugraph.dask.common.mg_utils import is_single_gpu
label_desc: Use image node_id 2 for calling a global function with example usage: setup(tmpdir) without return types