E2E Testing

SkillDev tools

Lets your agent write, run, and debug end-to-end tests for rtp2httpd.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the E2E Testing skill

About this capability

Write, run, review, and debug end-to-end tests for rtp2httpd. ALWAYS use this skill when the user: (1) wants to write or optimize e2e/integration tests, (2) asks to run tests or mentions run-e2e.sh, uv, pytest, collect-only, xdist, markers, fixtures, or parallelism, (3) needs to debug failing, flaky

What this skill tells your AI

The instructions your AI receives, as published by stackia/rtp2httpd in .agents/skills/e2e/SKILL.md and read by ahel’s review.

Tests run the real build/rtp2httpd against local mock upstreams. Use build-run if the binary is missing or stale. Collection does not require a binary.

Run affected tests

From the repository root, prefer the wrapper, which uses uv and defaults to xdist -n auto --dist loadscope:

./scripts/run-e2e.sh test_m3u.py               # one file
./scripts/run-e2e.sh -p 1 -k "test_name" -x    # serial reproduction
./scripts/run-e2e.sh --parallel=4 -m "not multicast"
./scripts/run-e2e.sh --co                     # collection only
./scripts/run-e2e.sh                          # full suite

The wrapper accepts one test file per invocation, either bare or under e2e/; if several are supplied, only the last is selected. Run selected files separately. -p 1 disables xdist. Registered markers live in pyproject.toml.

Choose the relevant detail

  • When adding, reviewing, or restructuring tests/helpers, read authoring.md for fixture isolation, port allocation, and source pointers.
  • For hangs, flaky tests, or parallel-only failures, read troubleshooting.md.

Completion

Run affected cases and fix regressions caused by the requested change. For changed Python files, use uv run --group dev ruff check <paths> and uv run --group dev ruff format --check <paths>. Check collection when imports, markers, or discovery changed; one wrapper collection run is sufficient unless direct pytest compatibility is itself under test.

Exercise parallel execution for shared fixtures, port allocation, or scheduling changes. Use the full suite for broad harness/runtime changes or when requested. Once relevant checks pass, do not add unrelated test runs. Keep production fixes within the requested scope and backed by a real behavioral failure, rather than changing runtime behavior to accommodate an incorrect test.

Signals

GitHub stars
2k
Forks
312
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
e2e-stackia
Source
github.com/stackia/rtp2httpd