Files
ttstd-infinite-canvas/backend/internal/hostupdate/version_test.go
ddCat 52913939d0 fix(deploy): 系统更新 - 非正式镜像标签可在线更新到正式版
sha-* 等非正式标签不再被字典序判成比 vX.Y.Z 更新;健康检查对非正式目标版本只确认服务就绪;管理后台更新页并排展示当前运行与最新发布版本并标注非正式版本
2026-09-18 08:50:18 +08:00

32 lines
727 B
Go

package hostupdate
import "testing"
func TestCompareVersions(t *testing.T) {
tests := []struct {
left, right string
want int
}{
{"v1.2.0-preview.2", "v1.2.0-preview.3", -1},
{"v1.2.0-preview.10", "v1.2.0-preview.3", 1},
{"v1.2.0-preview.3", "v1.2.0", -1},
{"v1.2.1", "v1.2.0", 1},
{"v1.2.0", "v1.2.0", 0},
{"vsha-5509b17", "v1.5.0", -1},
{"sha-5509b17", "v1.5.0", -1},
{"v1.5.0", "vsha-5509b17", 1},
{"v1.2.9", "v1.5.0", -1},
}
for _, test := range tests {
got := CompareVersions(test.left, test.right)
if got < 0 {
got = -1
} else if got > 0 {
got = 1
}
if got != test.want {
t.Fatalf("CompareVersions(%q, %q)=%d, want %d", test.left, test.right, got, test.want)
}
}
}