gemini-cli 测试在 Mac 上随机挂?一个 realpathSync mock 修复根因

AbbasFullstack · ghdev · 2026-10-29

google-gemini/gemini-cli 的 #30018 PR 修复了一个测试稳定性 bug:测试文件 mock 了 statSync/fstatSync/closeSync,但漏掉了 node:fs 的 realpathSync,导致 closeOrphanSlaveFd 调用了真实实现。只要机器上恰好存在 /dev/ttys001(比如 Mac 开着第二个终端窗口),测试就会走 /dev/fd 对比路径而非预期的 rdev-only 路径而失败。

修复方式:

验证命令为 npm run test --workspace @google/gemini-cli-core -- src/services/shellExecutionService.test.ts,85 个测试在有无 /dev/ttys001 的机器上均通过。

原文链接 →

「编程与Agent」频道最新

更多「编程与Agent」频道 AI 资讯 →