goroot: reduce xfail backlog across go1.24-go1.26#1773
Open
cpunion wants to merge 155 commits intogoplus:feat/go126-source-patch-cifrom
Open
goroot: reduce xfail backlog across go1.24-go1.26#1773cpunion wants to merge 155 commits intogoplus:feat/go126-source-patch-cifrom
cpunion wants to merge 155 commits intogoplus:feat/go126-source-patch-cifrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR continues the GOROOT runner and xfail cleanup on top of
#1759.Current scope stays limited to:
1.24.11,1.25.0, and1.26.0linux/amd64,linux/arm64, anddarwin/arm64accountingcidiscovery mode for the active runner surfaceIncluded
new(expr)support viagolang.org/x/tools/go/ssav0.38.0, which emits the required store after the allocationnewexpr.goxfails forgo1.26 darwin/arm64andgo1.26 linux/amd64fixedbugs/issue52612.go, matching existing Go 1.25/1.26 behaviorCurrent Inventory
Current
test/goroot/xfail.yamlinventory in this branch:477xfails12flaky entries18host skips269timeout overrides776total metadata entriesCurrent
cimode runner accounting after host-skip, xfail, and flaky matching:linux/amd64go1.24.11102721022linux/amd64go1.25.0103531043linux/amd64go1.26.0104721194darwin/arm64go1.24.11102371031darwin/arm64go1.25.0103171051darwin/arm64go1.26.0104371201linux/arm64go1.24.111025000linux/arm64go1.25.01033000linux/arm64go1.26.01045000For
go1.26, remaining xfail functional categories are:linux/amd6412693157481darwin/arm6414792158479For
go1.26, host-skip and flaky functional categories are:linux/amd641, other1darwin/arm642, runtime/gc/profiler1, other4linux/amd641, other3darwin/arm641Runner Modes
test/gorootkeeps three discovery modes:legacy: original narrow mode, only bare// runci: current CI mode, coveringrun,run <args>,runoutput,rundir,runindir, andbuildrunrunlike: broader local mode that also includesbuildrundirThe active CI validation continues to use
cimode.runlikeremains local/experimental until the knownbuildrundirblockers are fixed.Known
buildrundirblockers from the broader local expansion:retjmp.go: translated asm return-jump semantics still diverge withpanic: f2 not calledasmhdr.go:plan9asmconstant expansion still rejects string consts withpanic: "test" not an IntValidation
Latest local validation:
git diff --checkgo test ./test/goroot -count=1 -run 'Test(FlakyMatch|XFailMatch|HostSkipMatch|TimeoutMatch)'docker run --rm --platform linux/amd64 -v "$PWD":/workspace -v llgo-empty-crosscompile:/workspace/crosscompile -w /workspace llgo-wt-goroot-xfail-priority-llgo-dev-amd64:latest bash -lc 'go test ./test/goroot -count=1 -timeout 30m -run TestGoRootRunCases -args -goroot /workspace/.cache/goroot-linux-sdks/go1.26.0 -directive-mode ci -xfail /tmp/no-such-xfail.yaml -case "^newexpr\\.go$"'docker run --rm --platform linux/amd64 -v "$PWD":/workspace -v llgo-empty-crosscompile:/workspace/crosscompile -w /workspace llgo-wt-goroot-xfail-priority-llgo-dev-amd64:latest bash -lc 'go test ./test/goroot -count=1 -timeout 30m -run TestGoRootRunCases -args -goroot /workspace/.cache/goroot-linux-sdks/go1.26.0 -directive-mode ci -case "^newexpr\\.go$"'/Users/lijie/sdk/go1.26.0/bin/go test ./test/goroot -count=1 -timeout 30m -run TestGoRootRunCases -args -goroot /Users/lijie/sdk/go1.26.0 -go /Users/lijie/sdk/go1.26.0/bin/go -directive-mode ci -case '^newexpr\\.go$'docker run --rm --platform linux/amd64 -v "$PWD":/workspace -v llgo-empty-crosscompile:/workspace/crosscompile -w /workspace llgo-wt-goroot-xfail-priority-llgo-dev-amd64:latest bash -lc 'go test ./test/goroot -count=1 -timeout 90m -run TestGoRootRunCases -args -goroot /workspace/.cache/goroot-linux-sdks/go1.24.11 -directive-mode ci -shard-index 3 -shard-total 4'go test ./ssa -count=1 -run 'Test(FunctionInlineAttributes|IndexRejectsInvalidTypes|NamedTypeEquivalent|NamedStructLayoutEquivalent|FuncName_AliasPointerReceiverUsesUnderlyingNamedType)'go test ./ssa -coverprofile=/tmp/llgo-ssa-after3.cover -covermode=atomic(94.9%, +13 covered statements vs the prior local profile)GOTOOLCHAIN=local go install ./cmd/llgoPATH="$(go env GOPATH)/bin:$PATH" GOTOOLCHAIN=local bash -lc 'source doc/_readme/scripts/run.sh'exited0; the script still prints existing local Python 3.14SRE module mismatch/segfault diagnostics because it does not run withset -e, matching CI semanticsGitHub validation for head
b259f3c7cd2a32c76f470d87358dba234cfca380:81passed,1skipped (release),0pending,0failedcodecov/projectandcodecov/patchpassedBroader local package validation from this iteration:
go test ./internal/build ./cl ./ssa -count=1passedinternal/buildandssa; localcltimed out after 10 minutes inTestRunFromTestlibc/setjmp, which is outside thenewexpr.gopath and should be treated as a host/local timeout rather than a passing validation.Known follow-up categories to prioritize next:
cmplxdivide.gonilptr.go,range4.go,rangegen.goother