feat: 完善星表查询与跨版本回归验证

- 将星表名称数据收敛为 TSV/GZIP 单一数据源,补充中文名、别名、英文常用名及宿/垣区域字段
- 增加星表名称表加载校验、旧详情字段一致性校验和 GZIP 漂移检查
- 新增 StarDataByName、StarDataByNameAll、StarDataByNameIn ,统一中英文查询与重名消歧
- 优化日月食半影带、升落曲线和可见性回归测试,补充极区、拓扑及低精度场景覆盖
- 增加 Go 1.16/386 兼容门禁和测试案例,处理旧工具链的分配、拓扑、SVG字节及 ULP 差异
- 补充星表、坐标、日月食和低精度回归用例,完善测试文件与缓存忽略规则
This commit is contained in:
2026-10-18 16:13:14 +08:00
parent 0e3825d5ba
commit 72460fa228
30 changed files with 3932 additions and 127 deletions
+7 -2
View File
@@ -74,9 +74,14 @@ func TestLowPrecisionSunMoonBaselineRegression(t *testing.T) {
assertBits := func(t *testing.T, name, utc string, got float64, want uint64) {
t.Helper()
if math.Float64bits(got) != want {
t.Fatalf("%s regression at %s", name, utc)
if math.Float64bits(got) == want {
return
}
// Go 1.16/386 的超越函数可能差 1 ULP;该组合按 1e-12 度放行。
if go116386() && math.Abs(got-math.Float64frombits(want)) <= 1e-12 {
return
}
t.Fatalf("%s regression at %s", name, utc)
}
for _, sample := range samples {