统一命令行中文错误输出并记录发布复核证据
This commit is contained in:
parent
d90ddaadbb
commit
885478a7e0
@ -64,7 +64,12 @@ func Execute() {
|
||||
}
|
||||
|
||||
func newRootCommand() *cobra.Command {
|
||||
root := &cobra.Command{Use: "scert", Short: "SSL 证书服务与运维工具,业务管理请使用 Web", SilenceUsage: true}
|
||||
root := &cobra.Command{
|
||||
Use: "scert",
|
||||
Short: "SSL 证书服务与运维工具,业务管理请使用 Web",
|
||||
SilenceUsage: true,
|
||||
SilenceErrors: true,
|
||||
}
|
||||
root.CompletionOptions.DisableDefaultCmd = true
|
||||
root.SetHelpCommand(newHelpCommand())
|
||||
root.SetHelpTemplate(helpTemplate)
|
||||
|
||||
@ -74,6 +74,9 @@ func TestRetiredBusinessCommandsRejectBeforeAccessingData(t *testing.T) {
|
||||
if strings.Contains(output.String()+err.Error(), "test-secret-not-real") {
|
||||
t.Fatal("迁移提示泄露了旧命令中的凭据参数")
|
||||
}
|
||||
if output.Len() != 0 {
|
||||
t.Fatalf("错误应交由中文入口统一输出,不能重复打印框架提示:%s", output.String())
|
||||
}
|
||||
content, readErr := os.ReadFile(path)
|
||||
if readErr != nil || !bytes.Equal(content, original) {
|
||||
t.Fatalf("被停用命令修改了配置:%v", readErr)
|
||||
|
||||
@ -168,3 +168,10 @@
|
||||
- 新增命令树白名单和 11 类旧入口拒绝测试;用无效配置和模拟凭据证明拒绝先于配置读取,配置内容不变且没有新增运行数据。
|
||||
- CLI 定向测试、后端全量 `go test -p 1 -count=1 -timeout=3m ./...` 和 `go vet -p=1 ./...` 已通过。使用测试临时目录,没有清空或连接生产数据库。
|
||||
- 下一步:从本批干净提交构建发布包,运行实际 Windows 可执行文件的帮助和旧入口退出码检查;Linux 安装及服务运行仍需独立实机验证。
|
||||
|
||||
### 2026-09-27:CLI 实际产物复核修正
|
||||
|
||||
- `d90ddaa` 已推送并完成干净工作区双平台构建,产物位于 `build/release-scope-20260927-d90ddaa/`。
|
||||
- 实际 Windows 可执行文件的默认帮助仅显示运维命令;旧 `domain add` 返回退出码 1,没有执行旧业务。
|
||||
- 实测发现框架先输出英文 `Error:`,入口随后又输出中文错误,造成重复提示。已设置根命令 `SilenceErrors=true`,由 `Execute` 统一输出中文错误;新增无重复输出断言。
|
||||
- 修正后 CLI 和发布模块定向测试及静态检查通过;仍需以修正后的干净发布包完成最终范围复核,不能用之前的二进制代替。
|
||||
|
||||
Loading…
Reference in New Issue
Block a user