From 027ed1ade9e8b691cb631f8fcb8e8124ec0cde6b Mon Sep 17 00:00:00 2001 From: ceo Date: Sat, 12 Sep 2026 15:21:21 +0800 Subject: [PATCH] =?UTF-8?q?workflow=5Ftest=EF=BC=9AfakeSource.OpenIssues?= =?UTF-8?q?=20=E4=BE=9D=20number=20=E6=8E=92=E5=BA=8F=EF=BC=8C=E6=B6=88?= =?UTF-8?q?=E9=99=A4=20map=20=E8=BF=AD=E4=BB=A3=E9=9A=A8=E6=A9=9F=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 審核意見(PR #36):issue 1 與 issue 3 在新邏輯下同為 10h, sort.SliceStable 平手時順序取決於 map 迭代隨機順序, TestScanStalledIssueReasons 的 got[0].Number != 1 斷言不穩定。 採建議修法 1:fakeSource.OpenIssues 回傳前依 number 遞增排序, 對齊真實 Gitea API(issues 依 id 遞增)行為。實作未動。 go build / go vet / go test ./... 全綠; TestScanStalledIssueReasons -count=50 重跑全綠。 --- internal/workflow/workflow_test.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/internal/workflow/workflow_test.go b/internal/workflow/workflow_test.go index a05a200..81ae603 100644 --- a/internal/workflow/workflow_test.go +++ b/internal/workflow/workflow_test.go @@ -9,6 +9,7 @@ import ( "encoding/json" "errors" "fmt" + "sort" "strings" "testing" "time" @@ -43,6 +44,8 @@ func (f *fakeSource) OpenIssues(owner, repo string) ([]Issue, error) { for _, i := range f.issues[owner+"/"+repo] { out = append(out, i) } + // 對齊真實 API:issues 依 id(=number)遞增回傳,消除 map 迭代隨機性。 + sort.Slice(out, func(a, b int) bool { return out[a].Number < out[b].Number }) return out, nil }