---
name: Claude Tap E2E Test
slug: claude-tap-e2e-test
category: Quality
description: Claude Tap E2E Test runs the claude-tap end-to-end test suite with pytest to validate core proxy logic, trace writing, viewer streaming, signal handling, and startup behavior after modifying core code.
github: "https://github.com/liaohch3/claude-tap/tree/main/.agents/skills/e2e-test"
language: Python
stars: 3064
forks: 266
install: "npx degit https://github.com/liaohch3/claude-tap/tree/main/.agents/skills/e2e-test ~/.claude/skills/e2e-test"
installs_to: ~/.claude/skills/e2e-test
source_path: .agents/skills/e2e-test/SKILL.md
collection_size: 11
category_size: 1354
collection_url: "https://dirskills.com/collections/liaohch3/claude-tap"
added: 2026-08-17T07:09:15.728Z
last_synced: 2026-08-17T07:09:15.728Z
canonical_url: "https://dirskills.com/skills/claude-tap-e2e-test"
---

# Claude Tap E2E Test

Claude Tap E2E Test runs the claude-tap end-to-end test suite with pytest to validate core proxy logic, trace writing, viewer streaming, signal handling, and startup behavior after modifying core code.

**Install:**

```bash
npx degit https://github.com/liaohch3/claude-tap/tree/main/.agents/skills/e2e-test ~/.claude/skills/e2e-test
```

## README

# 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.
