code: def test_bfs(
      gpubenchmark,
      dataset_goldenresults_startvertex_spc,
      cugraph_input_type,
  ):
      """
      Test BFS traversal on random source with distance and predecessors
      """
      (
          G,
          dataset,
          directed,
          golden_values,
          start_vertex,
          depth_limit,
      ) = dataset_goldenresults_startvertex_spc
  
      if directed:
          if isinstance(cugraph_input_type, cugraph.Graph):
              cugraph_input_type = cugraph.Graph(directed=True)
  
      if not isinstance(cugraph_input_type, cugraph.Graph):
          G_or_matrix = utils.create_obj_from_csv(
              dataset, cugraph_input_type
          )
      else:
          G_or_matrix = G
  
      compare_bfs(
          gpubenchmark,
          G_or_matrix,
          golden_values,
          start_vertex,
          depth_limit,
      )
  
imports: import gc
  import pytest
  import cupy
  import numpy
  from scipy.sparse import coo_matrix
  from scipy.sparse import csr_matrix
  from scipy.sparse import csc_matrix
  import cudf
  import cugraph
  from cupyx.scipy.sparse import coo_matrix
  from cupyx.scipy.sparse import csr_matrix
  from cupyx.scipy.sparse import csc_matrix
  from pylibcugraph.testing.utils import gen_fixture_params_product
  from cugraph.testing import utils, get_resultset, load_resultset, DEFAULT_DATASETS, SMALL_DATASETS
label_desc: Use image node_id 14 for calling a global function with example usage: test_bfs(gpubenchmark, dataset_goldenresults_startvertex_spc, cugraph_input_type) without return types