def METHOD_NAME(
    config: Union[PathOrStr, Dict[str, Any], Params],
    overrides: Optional[Union[Dict[str, Any], str]] = None,
    file_friendly_logging: bool = True,
    include_package: Optional[List[str]] = None,
    workspace_url: Optional[str] = None,
    parallelism: Optional[int] = 1,
    multicore: Optional[bool] = False,
    name: Optional[str] = None,
    settings: Optional[TangoGlobalSettings] = None,
):
    """
    A context manager to make testing experiments easier. On ``__enter__`` it runs
    the experiment and returns the path to the run directory, a temporary directory that will be
    cleaned up on ``__exit__``.
    """
    initialize_logging(enable_cli_logs=True, file_friendly_logging=file_friendly_logging)
    test_case = TangoTestCase()
    try:
        test_case.setup_method()
        yield test_case.run(
            config,
            overrides=overrides,
            include_package=include_package,
            workspace_url=workspace_url,
            parallelism=parallelism,
            multicore=multicore,
            name=name,
            settings=settings,
        )
    finally:
        test_case.teardown_method()
        teardown_logging()