1.6 KiB
1.6 KiB
id, title, phase, deps, status, created, owner
| id | title | phase | deps | status | created | owner | |
|---|---|---|---|---|---|---|---|
| T-104 | 完成 Chrome/Edge 双实例与异常退出 smoke | 1 |
|
DONE | 2026-07-22 | codex |
需求与背景
核心进程能力必须在真实 Windows Chrome/Edge 上验证,fake runner 不能证明 Chromium 多进程、profile lock 和 Job Object 行为。
方案与边界
- 使用
go test -tags smoke运行真实临时 profile smoke。 - 每个浏览器使用独立临时 user data dir 和 headless 模式,避免污染用户 profile。
- 验证启动、PID、registry 占用、重复启动、Chrome/Edge PID 隔离和 force stop 后退出。
- 优雅关闭由单元 fake 覆盖;真实 headless smoke 重点验证实例级强制回收。
验收要点
go test ./...、go vet ./...通过。scripts/smoke-browser.ps1在 Chrome 和 Edge 均已安装时通过。- 未安装的浏览器必须明确记录 skip,不能伪报成功。
- smoke 失败时不标记 DONE。
执行记录
- 状态:DONE
- 变更:新增
smoke_windows_test.go和scripts/smoke-browser.ps1,覆盖 Chrome/Edge 双实例、PID 隔离、registry 重复占用和 Job Object force stop。 - 验证:
go test ./...、go vet ./...、.\scripts\smoke-browser.ps1均通过;本机 Chrome 和 Edge 均安装并完成真实 headless smoke。 - 阻塞:
- 残余风险:headless 模式不创建可见 message window,外部 profile inspector 在本次 smoke 中未取得 lock/window 证据;需要后续可控 headful/offscreen smoke 单独验证。force stop 返回
exit status 1,已按被终止进程的预期语义记录。