1.6 KiB
1.6 KiB
MODIFIED Requirements
Requirement: cmd checker 执行
系统 SHALL 按 cmd target 配置执行本地命令,记录执行耗时、退出码、stdout 和 stderr observation,并在执行失败时产生结构化错误信息。
Scenario: 命令正常退出
- WHEN cmd target 执行的进程正常退出且 exit code 为 0
- THEN 系统 SHALL 记录
durationMs和包含 exitCode、stdoutPreview、stderrPreview 的 observation,并进入 expect 校验;API detail SHALL 为exitCode=0
Scenario: 命令非零退出
- WHEN cmd target 执行的进程正常退出但 exit code 为 1
- THEN 系统 SHALL 记录包含 exitCode、stdoutPreview、stderrPreview 的 observation,并由 expect.exitCode 决定 matched 结果;API detail SHALL 为
exitCode=1
Scenario: 命令启动失败
- WHEN cmd target 的 exec 不存在或无法启动
- THEN 系统 SHALL 记录
matched=false,observation SHALL 为 null,并在 failure 中写入 kind=error和可读错误信息
Scenario: 命令超时
- WHEN cmd target 在 timeout 时间内未结束
- THEN 系统 MUST 终止该子进程,记录
matched=false,并在 failure 中写入命令超时信息;如已收集输出片段,observation SHALL 包含 stdoutPreview、stderrPreview 和 error
Scenario: 命令输出超限
- WHEN cmd target 的 stdout 和 stderr 合计输出超过
maxOutputBytes - THEN 系统 MUST 停止收集输出并终止该检查,记录
matched=false,并在 failure 中写入输出超限信息;observation SHALL 包含已截断输出预览和 error