name: e2e-test description: Run claude-tap end-to-end tests with pytest user_invocable: true
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
- Smart update check / 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_version_check_with_fake_pypi -v # Update check
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_version_check_ fails*: PyPI check logic. Check
_check_pypi_version,CLAUDE_TAP_PYPI_URLenv var. - 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