34 lines
1.3 KiB
Python
34 lines
1.3 KiB
Python
"""Conftest pour les tests securite — assure que le agent_v0 local de
|
|
rpa_vision_v3 est trouve avant le standalone de ~/ai/agent_v0/.
|
|
|
|
Le conftest racine ajoute /home/dom/ai/rpa_vision_v3 mais ne previent pas
|
|
le shadow par /home/dom/ai. On force l'ordre + on purge un eventuel
|
|
agent_v0 standalone deja charge depuis ~/ai/.
|
|
"""
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
ROOT = str(Path(__file__).resolve().parents[2])
|
|
|
|
# Forcer rpa_vision_v3 en tete (pattern reutilise depuis tests/integration/conftest.py)
|
|
if ROOT in sys.path:
|
|
sys.path.remove(ROOT)
|
|
sys.path.insert(0, ROOT)
|
|
|
|
# Purger tout import precoce de agent_v0 / core qui pointe vers un autre dossier
|
|
# (cf. ~/ai/agent_v0/ standalone qui n'est pas le package serveur du repo).
|
|
_AGENT_V0_LOCAL = str(Path(ROOT) / "agent_v0")
|
|
for _mod_name in list(sys.modules):
|
|
if _mod_name == "agent_v0" or _mod_name.startswith("agent_v0."):
|
|
_mod = sys.modules[_mod_name]
|
|
_mod_file = getattr(_mod, "__file__", "") or ""
|
|
if not _mod_file.startswith(_AGENT_V0_LOCAL):
|
|
del sys.modules[_mod_name]
|
|
|
|
# Pre-import du module local pour eviter qu'un autre conftest n'importe
|
|
# le standalone /home/dom/ai/agent_v0/ avant nous.
|
|
try: # pragma: no cover - garde de path
|
|
from agent_v0 import server_v1 as _sv1 # noqa: F401
|
|
except Exception:
|
|
pass
|