every.channel: sanitized baseline
This commit is contained in:
commit
897e556bea
258 changed files with 74298 additions and 0 deletions
39
evolution/proposals/ECP-0031-hdhr-e2e-test.md
Normal file
39
evolution/proposals/ECP-0031-hdhr-e2e-test.md
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
# 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.m3u8` and at least one `segment_*` file
|
||||
|
||||
The test is opt-in and runs only when environment variables are present:
|
||||
|
||||
- `EVERY_CHANNEL_E2E_HDHR_HOST`
|
||||
- `EVERY_CHANNEL_E2E_HDHR_CHANNEL`
|
||||
|
||||
## Details
|
||||
|
||||
- Publisher uses `--publish-manifests --epoch-chunks 1 --network-secret <hex>`.
|
||||
- Subscriber uses `--require-manifest --max-invalid-chunks 0` to enforce verification.
|
||||
- A new subscriber flag `--stop-after N` allows deterministic termination.
|
||||
|
||||
## Consequences
|
||||
|
||||
- Local developers can validate true end-to-end behavior before sharing builds.
|
||||
- CI remains unaffected unless explicitly enabled.
|
||||
Loading…
Add table
Add a link
Reference in a new issue