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
- Run the full test suite:
uv run pytest tests/test_e2e.py -v --timeout=120
Or run a single test:
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
Read the output. Each test prints
PASSEDorFAILED.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.htmlforpreserveDetailchain,updateNavButtons. - Timeout: May be a network/port issue, not a claude-tap bug.
- test_e2e fails: Core proxy pipeline issue. Check