1.4 KiB
1.4 KiB
ECP-0031: HDHomeRun End-to-End Test (Single Host, Two Nodes)
Status: Draft
Problem
We need a real end-to-end test that exercises the full ingestion and transport path against a real HDHomeRun on the LAN. Unit tests cover a lot of logic, but they cannot validate:
- live TS ingest from the tuner
- chunking on real packets
- manifest creation/signing
- stream encryption/decryption
- MoQ publish/subscribe over QUIC between two nodes
- subscriber verification and HLS write-out
Decision
Add an ignored integration test that:
- spawns
ec-node moq-publish hdhr ...against a user-provided HDHomeRun host and channel - reads the publisher's printed endpoint addr, broadcast name, and track name
- spawns
ec-node moq-subscribe ... --subscribe-manifests --require-manifest --network-secret ... - asserts that the subscriber writes
index.m3u8and at least onesegment_*file
The test is opt-in and runs only when environment variables are present:
EVERY_CHANNEL_E2E_HDHR_HOSTEVERY_CHANNEL_E2E_HDHR_CHANNEL
Details
- Publisher uses
--publish-manifests --epoch-chunks 1 --network-secret <hex>. - Subscriber uses
--require-manifest --max-invalid-chunks 0to enforce verification. - A new subscriber flag
--stop-after Nallows deterministic termination.
Consequences
- Local developers can validate true end-to-end behavior before sharing builds.
- CI remains unaffected unless explicitly enabled.