Repository navigation
test/goroot: classify Windows 386 timeouts and retire fixed xfails - #2621
Conversation
- Add 90s timeouts and flake classification for fixedbugs/issue79186.go, fixedbugs/issue30041.go, and fixedbugs/issue39541.go on windows/386. - Remove version: go1.27 constraint from index0.go timeout and flake entries so Windows 386 uses the 90s budget across all supported Go releases. - Remove fixedbugs/issue80196.go from xfails: per-call stack-slot semantics for loops fixed the stack overflow in PR xgo-dev#2530 and PR xgo-dev#2613. - Remove fixedbugs/issue75764.go on windows/amd64 from xfails: the deep interface tail-call test now passes reliably.
There was a problem hiding this comment.
Review: goroot xfail baseline update
This is a config-only change to test/goroot/xfail.yaml. I verified locally that the YAML parses, has no duplicate entries, and the relevant goroot unit tests pass (TestRepositoryExpectationsAreSeparated, TestObservedFailuresHaveXFailClassifications, TestObservedPassesDoNotHaveXFailClassifications, the TestWindows386* set). The three newly added windows/386 cases (issue79186, issue30041, issue39541) are correctly paired timeout+flake entries, their reason strings are factually accurate against the upstream test sources (verified the 51.2M RWMutex ops and 1M reflect.MakeFunc call counts), and removing the two xfails leaves no orphaned entries.
Two things worth confirming before merge (non-blocking):
1. Removed xfails now hard-gate CI. Deleting fixedbugs/issue80196.go and fixedbugs/issue75764.go from xfails: means an unclassified failure on either case becomes an unexpected hard failure (t.Fatal), not a tolerated one. That is correct if both cases now reliably pass across the full matrix (both Go releases, all platform lanes) — the removed entries were unpinned, so they gated every lane. Please confirm they pass, and consider noting in the PR/commit which fix retired each xfail, since the file keeps no history of removed entries (the x/tools xfails set a precedent by citing the resolving PR).
2. Flake entries permanently suppress failures with no retry. The runner does not re-run flaky cases; a flakes: entry simply reclassifies a single failing result as tolerated. So if a listed case regresses to always failing on windows/386, CI stays green indefinitely. Worth having the new flake entries reference a tracking issue so they don't become permanent blind spots. Note the index0.go win/386 flake reason (line 181) explicitly covers "fail during LLVM target object emission" — a real failure mode, not just slowness; confirm that broad suppression is intentional.
See the inline comment for the one code-consistency item.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
LLGo WebAssembly build benchmarks
WebAssembly output sizes
LLGo WebAssembly build measurements
Compared with |
LLGo baseline benchmarks
Program measurements
Core language and compiler benchmarks
Timer runtime benchmarks
Compared with |
Summary
Classifies Windows 386 timeouts and synchronizes xfail baseline with recent compiler fixes identified in issue #2620:
Windows 386 Timeout Budgets:
fixedbugs/issue79186.go: Addwindows/386totimeouts(90s) andflakes. All other platforms already had 90s configured for this 51.2M-operation RWMutex stress loop;windows/386was previously omitted.fixedbugs/issue30041.go: Addwindows/386totimeouts(90s) andflakes. The continuous 1,000-iteration GC andreflect.MakeFuncstress loop timed out at 60.021s on loaded 386 runners.fixedbugs/issue39541.go: Addwindows/386totimeouts(90s) andflakes. The 100 goroutine × 10,000 call (1M total)reflect.MakeFuncconcurrent test timed out at 63.7s on loaded 386 runners.index0.goandabi/uglyfib.go: Removeversion: go1.27constraint fromtimeoutsandflakesso the 90s budget coverswindows/386across all Go versions (fixing unexpected-fail on Go 1.26 and aligning runner-load entries).Retire Fixed XFails:
fixedbugs/issue80196.go: Removed fromxfails. Per-call stack-slot semantics for loops (PR fix(ssa): stabilize local stack slots and synthetic debug locations #2530 and PR perf(ssa): cache one entry-block alloca builder per function (fix #2611) #2613) eliminated the native stack overflow, and this test now passes cleanly across all platforms on Go 1.27.fixedbugs/issue75764.go: Removed fromxfailsonwindows/amd64. The deep interface tail-call chain test passes cleanly on Windows amd64.Fixes #2620