# coding=utf-8 # Ensures the project root is on sys.path when running pytest from any cwd. import sys from pathlib import Path ROOT = Path(__file__).resolve().parents[1] if str(ROOT) not in sys.path: sys.path.insert(0, str(ROOT)) import pytest @pytest.fixture(autouse=True) def _isolate_files_mcp_root(tmp_path, monkeypatch): """Point files_mcp at a fresh tmp_path for every test. Sets FILES_MCP_ROOT and rebinds files_mcp.core.path_guard's module-level _ROOT, so each test starts with an empty sandbox. Spark_executor tests are unaffected by this fixture — they don't touch the files_mcp sandbox. """ monkeypatch.setenv("FILES_MCP_ROOT", str(tmp_path)) from files_mcp.core import path_guard path_guard.set_root_for_testing(tmp_path.resolve()) yield