code: def prepare_test(
      recipe_folder="tests/recipes",
      script_field="Script_file",
      hparam_field="Hparam_file",
      test_field="test_debug_flags",
      check_field="test_debug_checks",
      download_field="test_download",
      message_field="test_message",
      filters_fields=[],
      filters=[],
  ):
      """Extracts all the needed information to run the recipe test.
  
      Arguments
      ---------
      recipe_folder: path
          Path of the folder containing csv recipe files summarizing all the recipes in the repo.
      script_field: str
          Field of the csv recipe file containing the path of the script to run.
      hparam_field: str
          Field of the csv recipe file containing the path of the hparam file.
      test_field: string
          Field of the csv recipe file containing the test flags.
      check_field: string
          Field of the csv recipe file containing the checks to perform.
      download_field: string
          Field of the csv recipe file containing files or folders to download for
          each test (optional).
      message_field: string
          Field of the csv recipe file containing optional messages to show before running the test.
      filters_fields: list
          This can be used with the "filter" variable
          to run only some tests. For instance, filters_fileds=['Task'] and filters=['ASR'])
          will only run tests for ASR recipes.
      filters: list
          See above.
  
      Returns
      ---------
      test_script: dict
          A Dictionary containing recipe IDs as keys and test_scripts as values.
      test_hparam: dict
          A dictionary containing recipe IDs as keys and hparams as values.
      test_flag: dict
          A dictionary containing recipe IDs as keys and the test flags as values.
      test_check: dict
          A dictionary containing recipe IDs as keys and the checks as values.
      test_download: dict
          A dictionary containing recipe IDs as keys and the checks as values.
      test_message: dict
          A dictionary containing recipe IDs as keys and the checks as values.
      """
  
      # Dictionary initialization
      test_script = {}
      test_hparam = {}
      test_flag = {}
      test_check = {}
      test_download = {}
      test_message = {}
  
      # Loop over all recipe CSVs
      print(f"\tfilters_fields={filters_fields} => filters={filters}")
      for recipe_csvfile in os.listdir(recipe_folder):
          # skip setup scripts; consider CSV files only
          if recipe_csvfile in __skip_list:
              continue
  
          print(f"Loading recipes from: {recipe_csvfile}")
          # Detect needed information for the recipe tests
          with open(
              os.path.join(recipe_folder, recipe_csvfile), newline=""
          ) as csvf:
              reader = csv.DictReader(
                  csvf, delimiter=",", skipinitialspace=True
              )
              for row_id, row in enumerate(reader):
                  recipe_id = (
                      f"{recipe_csvfile[:-4]}_row_{row_id+2:02d}"
                  )
                  if not (
                      check_row_for_test(
                          row, filters_fields, filters, test_field
                      )
                  ):
                      print(f"\tSkipped {recipe_id}")
                      continue
                  test_script[recipe_id] = row[script_field].strip()
                  test_hparam[recipe_id] = row[hparam_field].strip()
                  test_flag[recipe_id] = row[test_field].strip()
                  test_check[recipe_id] = row[check_field].strip()
  
                  # Manage test_download (optional field)
                  if download_field in row:
                      test_download[recipe_id] = row[
                          download_field
                      ].strip()
                  if message_field in row:
                      test_message[recipe_id] = row[
                          message_field
                      ].strip()
  
      return (
          test_script,
          test_hparam,
          test_flag,
          test_check,
          test_download,
          test_message,
      )
  
file_path: speechbrain/tests/utils/recipe_tests.py
imports: import os
  import re
  import csv
  import sys
  import pydoc
  from time import time
  import subprocess
  from hyperpyyaml import load_hyperpyyaml
  from speechbrain.utils.data_utils import download_file
label_desc: Use image node_id 2 for calling a global function with example usage: prepare_test(recipe_folder, script_field, hparam_field, test_field, check_field, download_field, message_field, filters_fields, filters) and returns: test_script,  test_hparam,  test_flag,  test_check,  test_download,  test_message