2.1 KiB
2.1 KiB
| title | state | created_at | updated_at | assignee | readiness | queued_by | queued_at |
|---|---|---|---|---|---|---|---|
| E2E harness が最新 yoi binary を自動 build して使うようにする | inprogress | 2026-06-13T15:46:07Z | 2026-06-13T16:06:53Z | null | ready | yoi ticket | 2026-06-13T15:46:29Z |
背景
00001KSKBP9YG の E2E harness first slice では YOI_E2E_BIN または推測された target/debug/yoi を process-under-test として使っていた。これだと任意タイミングの cargo test -p yoi-e2e --features e2e ... 実行時に、最新 source から build された yoi binary が使われる保証がない。
ユーザー判断:
cargo runを process-under-test にするより、E2E harness が test setup でcargo build -p yoi --features e2e-test --bin yoiを実行し、生成された binary を直接 PTY spawn する方針で修正する。
要件
YOI_E2E_BINが明示されていない通常 E2E 実行では、harness が workspace root でcargo build -p yoi --features e2e-test --bin yoiを実行してから、生成された binary path を使う。cargo runを PTY の process-under-test にしない。PTY / Ctrl+C / Quit latency 測定対象はyoibinary 本体にする。YOI_E2E_BINは明示 override として残してよい。- 複数 test で build が重複しすぎないよう、可能なら
OnceLock等で同一 test process 内 1 回に寄せる。 - artifact / error message に binary provider / build command / binary path が分かる情報を残す。
- 既存の production/non-production boundary、
e2e-testfeature gating、mouse capture tracking、quit pending barrier を壊さない。
受け入れ条件
cargo test -p yoi-e2e --features e2e --test panel -- --nocaptureだけで、事前の手動cargo build -p yoi --features e2e-testなしに E2E が実行できる。- E2E 実行時に build された
target/debug/yoiが PTY に直接 spawn される。 YOI_E2E_BIN=<path>指定時は override としてその path が使われる。- 既存 Panel E2E 2 本が pass する。
cargo fmt --check、git diff --check、関連 package check が pass する。