code: def test_recipe_batch_dag_clean_step_works(
      step, run_batch_scoring, enter_recipe_example_directory
  ):
      # This test sometimes fails on Windows with an error that looks like the following:
      # ----------------------------------------------------------------------------------------------
      # PermissionError: [WinError 32] The process cannot access the file because it is being used by
      # another process: 'C:\\path\\to\\custom\\steps\\predict\\outputs\\scored.parquet\\part-00000-5
      # 4161f55-351d-4e90-bb18-7f754bfbd467-c000.snappy.parquet'
      # ----------------------------------------------------------------------------------------------
      # To avoid this error, we sleep for 1 second to ensure all the handles to the parquet files are
      # released before we try to delete them.
      time.sleep(1)
      r = run_batch_scoring
      r.clean(step)
      expected_execution_directory_location = pathlib.Path(
          get_or_create_base_execution_directory(
              enter_recipe_example_directory
          )
      )
      step_outputs_path = (
          expected_execution_directory_location
          / "steps"
          / step
          / "outputs"
      )
      assert not list(step_outputs_path.iterdir())
  
file_path: mlflow/tests/recipes/regression/v1/test_regression_pipeline_batch_scoring.py
imports: import pathlib
  import shutil
  import time
  import pandas
  import pytest
  import mlflow
  from mlflow.recipes.regression.v1.recipe import RegressionRecipe
  from mlflow.recipes.utils.execution import get_or_create_base_execution_directory
  from tests.recipes.helper_functions import RECIPE_EXAMPLE_PATH_FROM_MLFLOW_ROOT, chdir
label_desc: Use image node_id 4 for calling a global function with example usage: test_recipe_batch_dag_clean_step_works(step, run_batch_scoring, enter_recipe_example_directory) without return types