code: def test_load_invalid_project(
      tmp_path, invalid_project_contents, expected_error_msg
  ):
      tmp_path.joinpath("MLproject").write_text(
          invalid_project_contents
      )
      with pytest.raises(
          ExecutionException, match=expected_error_msg
      ) as e:
          _project_spec.load_project(str(tmp_path))
      assert expected_error_msg in str(e.value)
  
file_path: mlflow/tests/projects/test_project_spec.py
imports: import os
  import textwrap
  import pytest
  from mlflow.exceptions import ExecutionException
  from mlflow.projects import _project_spec
  from tests.projects.utils import load_project
label_desc: Use image node_id 6 for calling a global function with example usage: test_load_invalid_project(tmp_path, invalid_project_contents, expected_error_msg) without return types