Files
hms-mediaengine/TEST_REPORT.md
T

56 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# TEST REPORT
Testberichte gemäß PLAN.md §32. Jeder Eintrag: Testdatum, Commit, Hardware/OS/Treiber, Ergebnisse, offene Abweichungen.
## Automatisierte Tests (Entwicklungsumgebung)
| Datum | Commit | Plattform | Ergebnis |
| --- | --- | --- | --- |
| 2026-09-11 | 0922cc1 (initiale Phase-0-Grundlage) | Kali-Linux-Container, Python 3.13.14, uv, CPU-only | **121 passed** (Unit + Integration), Ruff 0 Fehler |
Testumfang und Ergebnis der Phase-0-Grundlage (alle grün):
- `tests/unit/test_protocol.py` IPC-Envelope, length-prefixed MessagePack-Framing, Idempotenz (10 Tests)
- `tests/unit/test_parameter_engine.py` Prioritäten, LTP/HTP, Release, Frame-Snapshot, Revision-Konflikt (11 Tests)
- `tests/unit/test_artnet_packets.py` ArtDMX/ArtPoll/ArtPollReply gegen offizielle Spezifikation (22 Tests)
- `tests/unit/test_adaptive_quality.py` Hysterese, eine Stufe je Intervall, Mindesthaltezeit, kein Pumpen (8 Tests)
- `tests/unit/test_plugin_manifest.py` Manifest-/ZIP-Validierung, Pfadsicherheit, DMX-Slot-Limit (16 Tests)
- `tests/unit/test_domain_ids.py` stabile Node-ID ohne IP/Hostname-Abhängigkeit (6 Tests)
- `tests/unit/test_fixture_generator.py` Master32/Layer64-Kanallisten (8 Tests)
- `tests/unit/test_pipelines.py` Renderer-Pipeline-Definitionen D3D11/Dev-GL (7 Tests)
- `tests/unit/test_dmx_mapping.py` RisingEdge, 16-Bit-Decoder, Signalverlust-Policies, CONSOLE-Priorität (10 Tests)
- `tests/unit/test_capabilities.py` Tier-Vergabe nur nach Messwerten, kein Fake (6 Tests)
- `tests/unit/test_portable_paths.py` portable Pfade, GStreamer-Environment (5 Tests)
- `tests/integration/test_control_server.py` REST-Health, Commands, Revision-Konflikt, Idempotenz, WebSocket (12 Tests)
- `tests/integration/test_artnet_receiver.py` echter Loopback-UDP-Empfang, ArtPollReply als Media Server, Allowlist (3 Tests)
Werkzeug-Rauchtests: Fixture-CSVs (32/64 Kanäle, 8×64=512) generiert;
Renderer-Dry-Run gibt korrekte D3D11-Pipeline aus; alle JSON-Schemas und
Plugin-Manifeste parsebar; Plugin-Validierung der Beispielplugins fehlerfrei.
## Performancewerte (Gate-0-Messungen)
**Status: ausstehend.** Gate-0-Messungen sind ausschließlich auf Referenz-Windows-Hardware gültig (PLAN.md §29.7, §33). Zu messen:
- D3D11-Hardwaredecode aktiv (kein Software-Decoder) für H.264-Testclip
- GPU-Residenz: `D3D11Memory` von Decoder bis `d3d11videosink` ohne regulären CPU-Rundweg
- Framezeit p50/p95/p99 bei 1080p60 (Mini-PC) und 4K60 (`DESKTOP_FULL`)
- DMX→sichtbarer Frame: p95 ≤ 2 Frames
- Adaptive-Quality-Wechsel (3 Blur-Stufen) atomar ohne Semantikänderung/Stall
## Art-Net-Hardwaretest
Ausstehend Emulator (`tools/artnet_emulator`) bereit; Test gegen echtes Lichtpult in Phase 4 (Gate 4).
## Portabilitätstest
Ausstehend saubere Windows-VM ohne Python/Node/GStreamer, kein Admin (PLAN.md §29.6). Onefolder-Build nach Packaging-ADR (ADR-0005).
## Soak-Zeit
Ausstehend 4 h Desktop / 2 h Pi gemäß §25.125.3.
## Offene Abweichungen
- Entwicklungsumgebung ist ein CPU-only-Linux-Container: keine D3D11-, Display- oder Art-Net-Hardwaremessung möglich. Kein Ergebnis in diesem Report darf als Hardwarenachweis gewertet werden.