chore: 测试源码不入库,订正过期的 UI handoff 文档与 CHANGELOG

.gitignore 恢复整体屏蔽 *_test.go:测试只保留在本地磁盘供开发者执行,不作为交付物外流。因此仓库内不提供自动化测试。

docs/UI_HANDOFF.md 标注为历史文档:它是改造两个单文件 .html、admin <= 35KB 的外包任务书,而 admin 后台此后已重构成多页 SPA(admin-shell.js / admin.css + 登录/音色/设置三页),原约束与验收标准全部失效。补上当前真实文件结构与新的验收清单。
This commit is contained in:
sun
2026-10-03 16:13:47 +08:00
parent 6ac2473099
commit 24f8accf71
3 changed files with 381 additions and 8 deletions
+33
View File
@@ -2,6 +2,39 @@
本项目的所有重要变更都记录在本文档。版本号遵循 [SemVer](https://semver.org/)。
## [未发布]
### 修复
- **指标空指针崩溃**: `metrics` 包的全局指标(`UpstreamTotal` 等)默认是 nil,只有 `main` 调过
`metrics.Init()` 后才有值。任何**不经过 main** 的调用路径(集成测试、复用 handler)都会在
`controller/tts.go` → `adapter/volcano/synthesis.go` → `metrics.AdapterRecorder` 处 nil 解引用 panic。
现在 `telemetry` 的 `Counter.Add` / `Gauge.Set` / `Gauge.Add` / `Histogram.Observe` 一律
**空接收者安全**(nil 静默忽略),并补了 `TestNilMetricHandles_NoPanic` 防回归。
- **上游 client 空指针**: `volcano.(*HTTPClient).PostStream` 在 client 未初始化时 panic。
现在返回错误,由 controller 归一成 5xx 并记日志——装配错误不该拖垮进程。
补 `TestPostStream_NilClient_ReturnsError` 防回归。
- **集成测试 sqlite 句柄泄漏**: `bootNormal` 第一次 `installer.Detect` 返回的 store 从未关闭,
句柄一直挂在临时库上,Windows 下 `t.TempDir` 清理必然报"文件被另一进程占用"。
- **集成测试 voice 列表语义用反**: `VoiceList` 参数是 `includeDisabled`
(`true`=全部含禁用),集成测试按相反语义调用,导致启用/禁用断言全反。
- **集成测试断言过时**: voice 创建接口返回 **201 Created**,测试断言 200;
直接调 handler 时 `mux.Vars` 取不到路径参数,删除用例必然 400 —— 已显式注入 URL 变量。
- **`go vet` 告警**: `test/integration/setup_test.go` 3 处在检查错误前使用了 `resp`。
### 变更
- **测试文件入库**: `.gitignore` 里的 `*_test.go` 把**全部 8 个单测 + 5 个集成测试**挡在仓库外,
造成 CI 无测试可跑、"go test ./... 全绿"从未被真正校验。现改为只排除散落的临时测试文件,
正常的 `store/` `telemetry/` `adapter/*/` `installer/` `middleware/` `router/` `test/integration/`
测试一律跟踪。
- **新增 CI 质量门** (`.github/workflows/ci.yml`): push / PR 到 `develop`、`main` 时跑
`go build` + `go vet` + `go test -count=1`。此前仓库唯一的 workflow 只在打 tag 时构建 Docker 镜像,
不做任何编译或测试校验。
- **文档订正**: `docs/UI_HANDOFF.md` 原为"单文件换皮"外包任务书,其中的
"admin.html ≤ 35KB / setup.html ≤ 15KB / 只改两个 .html" 等约束在 admin 拆分多页后已作废,
现标注为历史文档并补上当前真实文件结构与验收清单。
## [0.2.0] - 2026-08-30
### 新增