]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile/internal/ssa: restrict architectures for TestDebugLines_74576
authorthepudds <thepudds1460@gmail.com>
Fri, 18 Jul 2025 22:25:08 +0000 (18:25 -0400)
committert hepudds <thepudds1460@gmail.com>
Sat, 19 Jul 2025 12:33:40 +0000 (05:33 -0700)
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 <khr@golang.org>
Reviewed-by: Keith Randall <khr@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Keith Randall <khr@golang.org>
Reviewed-by: David Chase <drchase@google.com>
src/cmd/compile/internal/ssa/debug_lines_test.go

index 5ca844403e54fe5e7c2c4d3424a86a28538f4eca..79dbd91c2fc5c2260236915b641c210f7961e922 100644 (file)
@@ -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)
+                       })
+               }
        }
 }