已关闭
test(regression): 将环境变量覆盖指引纳入核心回归矩阵 #623
aflyingto创建于 15 天前关闭于 14 天前
aflyingto
14 天前 评论:
14 天前 评论:
误关恢复:本 issue 是 PR !593 评审产生的跟进项,尚未交付。!593 merge 时其 body「后续跟踪 Issues」清单中的裸 issue 编号触发了 GitCode 自动关闭(pr-workflow §5 已记载该行为),与 issue 实际状态无关,现重新打开继续跟踪。后续 PR body 将改用文字描述引用,不再裸写编号。


aflyingto
14 天前 评论:
14 天前 评论:
验证记录
- 当前版本或分支: main @ 9e06956(!593 合并提交;合并树与全门禁验证过的 e34ce27 逐字节一致)
- 验证时间: 2026-10-20
- 复现命令:
GC_TOKEN=regression-stub-not-a-real-token ./gc auth status - 实际结果: stderr 输出两套可复制根治指引(含
gc auth login步骤与gc auth status验证),退出码 4——行为已在主干生效 - 预期结果: 行为生效且被默认回归矩阵保护
- 时间线检查: !593 于 2026-10-19 合入后本 issue 随即建立,为该交付的直接跟进项;此前无重复 issue(回归矩阵相关仅有本项),无先行 PR
- 结论: 继续修复(覆盖缺口确认:
scripts/regression-core.sh现有 auth 段仅覆盖auth status正常路径与无认证错误路径,无环境变量覆盖指引冒烟;docs/REGRESSION.md默认回归集 17 项同样缺失) - 备注: 本 issue 曾被 PR !593 body 裸编号引用在 merge 时误关,已恢复(见前条评论)


aflyingto
14 天前 评论:
14 天前 评论:
开发进度
- 当前状态: ready-for-review(PR !594 已完成自检、四角色独立评审三轮全部 approved、双端 CI 全绿,等待人工最终确认与合并)
- 根因: PR !593 交付的环境变量覆盖指引仅有单测/集成测试保护,默认真实命令回归矩阵与 tests/system read 套件均未覆盖(详见验证记录)
- 主要修改: scripts/regression-core.sh 新增 "Auth Env Override Guidance" 段(含 GC_CONFIG_DIR/GC_HOST 环境封闭与负向断言);tests/system/lib.sh 补 assert_not_contains;tests/system/cases/read/auth.sh 镜像段(复用共享空配置目录,单 trap);docs/REGRESSION.md 条目 4 + 矩阵边界句 + 既有条目顺序修正
- 影响范围: 仅回归脚本、系统测试与回归文档;零生产代码改动
- 单元测试:
go test ./...163 包全部通过 - 构建: 脚本内建 Build 步骤成功
- 实际命令验证: 五项闭环——GREEN 全量 exit 0;敌意 GC_HOST 下指引仍输出;read 套件 exit 0(镜像段执行、/tmp 泄漏归零);testscript 层 ok;修复后段 RED 复验(5d2e0fb 旧二进制恰在新段 exit 1)
- 安全影响: 桩 token 固定字面量经 gitleaks 实测零命中;断言与输出零 token 值;环境封闭后连真实配置目录都不再触碰
- 文档同步: docs/REGRESSION.md 即改动对象;README/COMMANDS/AUTH/spec 经四角色复核无失效表述
- 风险或未覆盖项: risk/medium(脚本类默认档),按规范合并前需人工最终确认(逐 PR 显式合并指令);Windows/macOS 实机脚本运行未执行(断言为平台中立串)
- 关联 PR: !594


背景
auth status在环境变量 token 失效时的新行为(stderr 输出两套可复制处理方案、退出码 4)目前仅由单元/集成测试保护,未纳入默认回归集scripts/regression-core.sh已有 "Auth Status" 与 "Auth Exit Code" 两个 auth 相关段,可自然扩展任务
scripts/regression-core.sh增加"环境变量桩 token →auth status退出码 4 + stderr 含根治指引"冒烟检查(桩 token,不涉真实凭证)docs/REGRESSION.md回归矩阵同步补行验收标准
./scripts/regression-core.sh覆盖该路径且通过docs/REGRESSION.md与脚本实际覆盖一致影响范围
scripts/regression-core.sh、docs/REGRESSION.md来源: PR !593 第一轮文档审查建议项