47c0f4ff73
infra/ lives at the repo root, not inside nanoclaude/. The Dockerfile copies it to /app/infra so tools.infra_tool can `from infra.core...`. Mirror the in-container PYTHONPATH in conftest so the integration test module can be imported outside Docker. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
19 lines
600 B
Python
19 lines
600 B
Python
"""pytest configuration — match the in-container PYTHONPATH so tests can use
|
|
the same `services.x` and `infra.core.x` imports the running app does.
|
|
|
|
The Dockerfile copies ``nanoclaude/`` to /app/ and ``infra/`` to /app/infra/,
|
|
so /app is on PYTHONPATH and both packages resolve. Mirror that here.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
NANOCLAUDE_ROOT = Path(__file__).resolve().parent.parent
|
|
GPU_SERVICES_ROOT = NANOCLAUDE_ROOT.parent
|
|
|
|
for path in (NANOCLAUDE_ROOT, GPU_SERVICES_ROOT):
|
|
if str(path) not in sys.path:
|
|
sys.path.insert(0, str(path))
|