code: def test_environment_directory_is_cleaned_up_when_unexpected_error_occurs(
      temp_mlflow_env_root, sklearn_model
  ):
      sklearn_req = "scikit-learn==999.999.999"
      with mlflow.start_run():
          model_info1 = mlflow.sklearn.log_model(
              sklearn_model.model,
              artifact_path="model",
              pip_requirements=[sklearn_req],
          )
  
      try:
          serve_and_score(model_info1.model_uri, sklearn_model.X_pred)
      except Exception:
          pass
      else:
          assert False, "Should have raised an exception"
      assert len(list(temp_mlflow_env_root.iterdir())) == 0
  
imports: import os
  import sys
  from collections import namedtuple
  from io import BytesIO
  from pathlib import Path
  from stat import S_IRGRP, S_IROTH, S_IRUSR, S_IXGRP, S_IXOTH, S_IXUSR
  import numpy
  import pandas
  import pytest
  import sklearn
  from sklearn.datasets import load_iris
  from sklearn.linear_model import LogisticRegression
  import mlflow
  from mlflow.environment_variables import MLFLOW_ENV_ROOT
  from mlflow.pyfunc.scoring_server import CONTENT_TYPE_JSON
  from mlflow.utils.environment import _PYTHON_ENV_FILE_NAME, _REQUIREMENTS_FILE_NAME
  from mlflow.utils.virtualenv import _is_pyenv_available, _is_virtualenv_available
  from tests.helper_functions import pyfunc_serve_and_score_model
label_desc: Use image node_id 9 for calling a global function with example usage: test_environment_directory_is_cleaned_up_when_unexpected_error_occurs(temp_mlflow_env_root, sklearn_model) without return types