]> Cypherpunks repositories - gostls13.git/commitdiff
test: fix issue20014 for noopt builder
authorMatthew Dempsky <mdempsky@google.com>
Mon, 16 May 2022 19:14:14 +0000 (12:14 -0700)
committerMatthew Dempsky <mdempsky@google.com>
Mon, 16 May 2022 19:48:35 +0000 (19:48 +0000)
This test is currently overly sensitive to compiler optimizations,
because inlining can affect the order in which cmd/link emits field
references. The order doesn't actually matter though, so this CL just
tweaks the test to sort the tracked fields before printing them.

Updates #51734.

Change-Id: I3b65ca265856b2e1102f40406d5ce34610c70d40
Reviewed-on: https://go-review.googlesource.com/c/go/+/406674
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: David Chase <drchase@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>

test/fixedbugs/issue20014.dir/main.go

index ac9957de40a0359403cf7373f5cbcb435733dda9..098ac6b99a800650805803b609d70ce8bd63cb1d 100644 (file)
@@ -5,6 +5,7 @@
 package main
 
 import (
+       "sort"
        "strings"
 
        "issue20014.dir/a"
@@ -13,12 +14,17 @@ import (
 func main() {
        samePackage()
        crossPackage()
+
        // Print fields registered with field tracking.
+       var fields []string
        for _, line := range strings.Split(fieldTrackInfo, "\n") {
-               if line == "" {
-                       continue
+               if line != "" {
+                       fields = append(fields, strings.Split(line, "\t")[0])
                }
-               println(strings.Split(line, "\t")[0])
+       }
+       sort.Strings(fields) // for stable output, regardless of optimizations
+       for _, field := range fields {
+               println(field)
        }
 }