Files
deepseek-harness/packages/support/loader-smoke/README.zh.md
T
Tianyi Cui a8a1ada183 docs: move execa Agent Note to implemented; update inbound links and README contracts
- proposed/testing -> implemented/testing with the lifecycle rewrite
  (Proposal->Decision in present tense, Acceptance criteria + Risks
  folded into Consequences); zh counterpart mirrored and both pairs
  re-recorded.
- the rejected NIH-audit roll-up pair now links the implemented/ path.
- loader-smoke README: captured output is bounded by execa's default
  100 MB maxBuffer, no longer unbounded.
- acp-snapshot README: harness.ts now also imports vitest (vi.waitFor),
  so the vitest-run-only constraint names both modules.
- jsonrpc keyless smoke: raise the invalid-env case's subprocess
  deadline to 25s (the 9s pick starved a cold tsx boot on slow NFS).
2026-07-26 23:10:38 +08:00

1.3 KiB
Raw Blame History

@deepseek-ai/dsh-loader-smoke

English | 中文

用于测试通过 Cordis Loader 启动应用和 cordis.yml 的共享子进程 harness。resolveExampleLaunch 选择本地 src modetsx 和根 tsconfig 路径)或 CI lib mode(普通 Node 和包导出);选择依据为显式 mode 或 DSH_EXAMPLE_MODE

runLoaderSmoke 接受 bin 和配置路径、可选的完整 bin 参数、环境覆盖、stdin、运行前设置和清理前检查。它负责隔离 cwd、DSH 主目录、诊断、deadline、终止、EOF 和清理;在零退出后返回两个流,失败时拒绝并携带两个流。

这是支持层测试基础设施,而非产品 API。

模型体验

无。该测试专用 harness 启动示例进程并检查它们的流,不会改变已组装模型请求。

KV 缓存影响

无;该包既不组装也不发送提供方请求。

已知限制与待完成工作

  • 构建 mode 需要事先构建:配置还必须能够通过 examples/node_modules 向上解析每个命名包。
  • 捕获的 stdout 和 stderr 仅受 execa 默认 100 MB maxBuffer 约束:失控子进程会在该上限处被终止,而不是在冒烟测试自选的预算处。
  • 超时只终止直接子进程:故障 fixture 生成的进程树可以比冒烟测试存活更久,需要外部清理。