feat(agent): add learn action flow and grounding guards
This commit is contained in:
@@ -12,6 +12,7 @@ Ce fichier garantit que:
|
||||
- Le GPU est vérifié avant les tests qui en ont besoin
|
||||
"""
|
||||
import sys
|
||||
import types
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
@@ -31,6 +32,42 @@ except ImportError as e:
|
||||
print(f" sys.path: {sys.path[:3]}...")
|
||||
|
||||
|
||||
# Certains tests HTTP d'agent_chat n'ont pas besoin du transport SocketIO reel.
|
||||
# Le service de production garde Flask-SocketIO comme dependance, mais l'env de
|
||||
# test local peut etre minimal. On fournit alors un shim strictement pytest.
|
||||
try:
|
||||
import flask_socketio # noqa: F401
|
||||
except ModuleNotFoundError:
|
||||
flask_socketio = types.ModuleType("flask_socketio")
|
||||
|
||||
class _FakeSocketIO:
|
||||
def __init__(self, app=None, *args, **kwargs):
|
||||
self.app = app
|
||||
self.args = args
|
||||
self.kwargs = kwargs
|
||||
self.handlers = {}
|
||||
self.emitted = []
|
||||
|
||||
def on(self, event):
|
||||
def decorator(func):
|
||||
self.handlers[event] = func
|
||||
return func
|
||||
return decorator
|
||||
|
||||
def emit(self, event, payload=None, **kwargs):
|
||||
self.emitted.append((event, payload, kwargs))
|
||||
|
||||
def run(self, *args, **kwargs):
|
||||
return None
|
||||
|
||||
def _fake_emit(*_args, **_kwargs):
|
||||
return None
|
||||
|
||||
flask_socketio.SocketIO = _FakeSocketIO
|
||||
flask_socketio.emit = _fake_emit
|
||||
sys.modules["flask_socketio"] = flask_socketio
|
||||
|
||||
|
||||
# =============================================================================
|
||||
# GPU Preflight — vérification avant les tests GPU
|
||||
# =============================================================================
|
||||
@@ -61,4 +98,4 @@ def _gpu_preflight_check(request):
|
||||
max_gpu_util_percent=max_util,
|
||||
)
|
||||
if not result.ready:
|
||||
pytest.skip(f"GPU pas prêt : {result.reason}")
|
||||
pytest.skip(f"GPU pas prêt : {result.reason}")
|
||||
|
||||
Reference in New Issue
Block a user