界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
开发与工程 · SKILL.md

e2e-test

e2e-test

【开发与工程】Run claude-tap end-to-end tests with pytest

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

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
  • Manual update command / trace cleanup

Steps

  1. 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
  1. Read the output. Each test prints PASSED or FAILED.

  2. 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.
我的收藏