test: fix issue20014 for noopt builder

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>
This commit is contained in:
Matthew Dempsky 2022-05-16 12:14:14 -07:00
parent 6ec46f4707
commit 99d63007a0

View 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)
}
}