Files
hms-mediaengine/tests/conftest.py
T
HMS MediaEngine Agent d24fe3a963 Phase 2: Medien-Engine – Transport, Preload, Library, Content-Manifest
- PlaybackController (§12.5): Play/Pause/Stop/Retrigger, Loop/Once/
  Ping-Pong mit In/Out-Fenstern, variable Geschwindigkeit ±4x (§16.6),
  Ende-Ereignis genau einmal je Pass, monotone Ereignis-Zeitbasis (§12.2)
- PreloadSlot (§12.2): atomarer Clipwechsel preload->ready->commit;
  nicht bereites Medium wechselt nie (Policy beim Aufrufer)
- MediaLibrary (§13.2/§13.3): Import mit SHA-256-Duplikaterkennung,
  Bank-Slots als explizite Show-Metadaten, fehlende Dateien markiert,
  Relink; Import laeuft im Control-Core-Worker, nie im Renderthread
- ContentManifest (§6.4/§10.1): SHA-256 je Datei + resumierbare
  Chunk-Hashes, Verifikation gegen Veraenderung, Diff fuer Sync-Plan,
  deterministische Serialisierung mit Revision
- 35 neue Unit-Tests; Gesamtsuite 258 gruen, Ruff gruen
2026-09-11 01:25:23 +02:00

37 lines
902 B
Python

"""Test-Pfad-Setup: macht alle hms_*-Pakete ohne Installation importierbar.
Eigentumsgrenzen bleiben gewahrt: jede Testsuite importiert nur die
Pakete, die sie prüft; Quereinbau zwischen packages/* bleibt verboten.
"""
from __future__ import annotations
import sys
from pathlib import Path
REPO = Path(__file__).resolve().parents[1]
_PACKAGE_DIRS = [
"packages/protocol",
"packages/domain",
"packages/parameter_engine",
"packages/artnet",
"packages/adaptive_quality",
"packages/capabilities",
"packages/plugin_sdk",
"packages/persistence",
"packages/cluster",
"packages/media",
"packages/content_sync",
"apps/renderer",
"apps/control_server",
"apps/launcher",
"tools/fixture_generator",
"tools/artnet_emulator",
]
for _sub in _PACKAGE_DIRS:
_dir = str(REPO / _sub)
if _dir not in sys.path:
sys.path.insert(0, _dir)