27 lines
1.1 KiB
Markdown
27 lines
1.1 KiB
Markdown
## MODIFIED Requirements
|
||
|
||
### Requirement: 命令执行
|
||
系统 SHALL 使用 Bun.spawn 执行命令类型目标,继承父进程环境变量并支持覆盖。
|
||
|
||
#### Scenario: 禁止 stdin 交互
|
||
- **THEN** 系统 MUST 设置 stdin 为 "ignore",防止子进程等待标准输入而阻塞
|
||
|
||
### Requirement: 结果记录
|
||
系统 SHALL 记录命令执行的完整结果。
|
||
|
||
#### Scenario: 命令成功执行
|
||
- **WHEN** 命令正常退出
|
||
- **THEN** 系统 SHALL 记录 durationMs、statusDetail="exitCode=N",并进入 expect 校验
|
||
|
||
#### Scenario: 命令启动失败
|
||
- **WHEN** 命令无法启动
|
||
- **THEN** 系统 SHALL 记录 matched=false,并在 failure 中写入 kind=error 和具体错误信息
|
||
|
||
#### Scenario: 命令超时
|
||
- **WHEN** 命令执行超过 timeout 限制
|
||
- **THEN** 系统 MUST 终止该子进程,记录 matched=false,并在 failure 中写入命令超时信息
|
||
|
||
#### Scenario: 输出超限
|
||
- **WHEN** 命令输出超过 maxOutputBytes 限制
|
||
- **THEN** 系统 MUST 停止收集输出并终止该检查,记录 matched=false,并在 failure 中写入输出超限信息
|