From: thepudds Date: Fri, 18 Jul 2025 22:25:08 +0000 (-0400) Subject: cmd/compile/internal/ssa: restrict architectures for TestDebugLines_74576 X-Git-Tag: go1.25rc3~5^2~10 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=e32255fcc0;p=gostls13.git cmd/compile/internal/ssa: restrict architectures for TestDebugLines_74576 CL 687815 recently added TestDebugLines_74576. The pre-existing debug_lines_test.go file generally restricts the tested architectures and contains multiple warnings that the testing approach is useful but fragile, such as: "These files must all be short because this is super-fragile." Despite that, initially I wanted to see what happened on the different architectures on the trybots in case it might show something surprising, and I let TestDebugLines_74576 run on all architectures. That seemed to initially work, but the test is now failing on a linux/risc64 builder (#74669), so it is likely more prudent to be more conservative and restrict the platforms like many of the other pre-existing tests, which is what this CL now does. Fixes #74669 Change-Id: I9e5a7d3ee901f58253cf72e03c2239df338479e6 Reviewed-on: https://go-review.googlesource.com/c/go/+/688856 Auto-Submit: Keith Randall Reviewed-by: Keith Randall LUCI-TryBot-Result: Go LUCI Reviewed-by: Keith Randall Reviewed-by: David Chase --- diff --git a/src/cmd/compile/internal/ssa/debug_lines_test.go b/src/cmd/compile/internal/ssa/debug_lines_test.go index 5ca844403e..79dbd91c2f 100644 --- a/src/cmd/compile/internal/ssa/debug_lines_test.go +++ b/src/cmd/compile/internal/ssa/debug_lines_test.go @@ -116,20 +116,30 @@ func TestDebugLines_53456(t *testing.T) { } func TestDebugLines_74576(t *testing.T) { - tests := []struct { - file string - wantStmts []int - }{ - {"i74576a.go", []int{12, 13, 13, 14}}, - {"i74576b.go", []int{12, 13, 13, 14}}, - {"i74576c.go", []int{12, 13, 13, 14}}, - } - t.Parallel() - for _, test := range tests { - t.Run(test.file, func(t *testing.T) { - t.Parallel() - testDebugLines(t, "-N -l", test.file, "main", test.wantStmts, false) - }) + unixOnly(t) + + switch testGoArch() { + default: + // Failed on linux/riscv64 (issue 74669), but conservatively + // skip many architectures like several other tests here. + t.Skip("skipped for many architectures") + + case "arm64", "amd64", "loong64": + tests := []struct { + file string + wantStmts []int + }{ + {"i74576a.go", []int{12, 13, 13, 14}}, + {"i74576b.go", []int{12, 13, 13, 14}}, + {"i74576c.go", []int{12, 13, 13, 14}}, + } + t.Parallel() + for _, test := range tests { + t.Run(test.file, func(t *testing.T) { + t.Parallel() + testDebugLines(t, "-N -l", test.file, "main", test.wantStmts, false) + }) + } } }