# E2e Test

> Run claude-tap end-to-end tests with pytest

- Skill: `gabrielmoreira/e2e-test` (Agent Skill)
- Install (CLI): `npx skillmds@latest add gabrielmoreira/e2e-test`
- Raw SKILL.md: https://api.skillmd.com/api/skills/gabrielmoreira/e2e-test/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: gabrielmoreira (https://skillmd.com/u/gabrielmoreira)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/gabrielmoreira/e2e-test

---


# claude-tap E2E Test

Run this skill after modifying core logic in claude-tap, especially:
- Proxy handler / SSE reassembly (`__init__.py`)
- TraceWriter (JSONL writing, flush behavior)
- HTML viewer generation (`viewer.html`, `_generate_html_viewer`)
- LiveViewerServer (SSE streaming)
- Signal handling / graceful shutdown
- Manual update command / trace cleanup

## Steps

1. Run the full test suite:

```bash
uv run pytest tests/test_e2e.py -v --timeout=120
```

Or run a single test:

```bash
uv run pytest tests/test_e2e.py::test_e2e -v           # Full E2E pipeline
uv run pytest tests/test_e2e.py::test_trace_cleanup -v  # Trace cleanup
uv run pytest tests/test_e2e.py::test_startup_does_not_contact_pypi -v  # No startup update network
```

2. Read the output. Each test prints `PASSED` or `FAILED`.

3. If tests fail, check:
   - **test_e2e fails**: Core proxy pipeline issue. Check `proxy_handler`, `_handle_streaming`, `TraceWriter.write`.
   - **test_trace_cleanup fails**: Manifest logic issue. Check `_load_manifest`, `_cleanup_traces`, `_register_trace`.
   - **test_startup_does_not_contact_pypi fails**: Startup made an unexpected update-related network request.
   - **test_live_viewer_* fails**: Viewer HTML issues. Check `viewer.html` for `preserveDetail` chain, `updateNavButtons`.
   - **Timeout**: May be a network/port issue, not a claude-tap bug.

