gopls/internal/test/integration/completion: make test more go1.26-robust Fix the name of the *testing.F function added in Go 1.26 (ArtifactDir, not Artifact), and sort it correctly. Do not modify the want list in compareCompletionLabels, which causes issues when a modified completion list is reused in a later test. Updates golang/go#74987 Change-Id: I2d380979c346283a3eeedeb979b3747280018c93 Reviewed-on: https://go-review.googlesource.com/c/tools/+/709635 Reviewed-by: Alan Donovan <adonovan@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Damien Neil <dneil@google.com>
diff --git a/gopls/internal/test/integration/completion/completion18_test.go b/gopls/internal/test/integration/completion/completion18_test.go index f0fd1db..6ab2c55 100644 --- a/gopls/internal/test/integration/completion/completion18_test.go +++ b/gopls/internal/test/integration/completion/completion18_test.go
@@ -107,7 +107,7 @@ }{ // To avoid breaking these assertions as the "testing" package evolves, // use an optional (?) suffix for newer symbols. - {"a_test.go", "f.Ad", 3, []string{"Add", "Attr", "Artifact?"}}, // Attr is 1.25, Artifact is 1.26 + {"a_test.go", "f.Ad", 3, []string{"Add", "ArtifactDir?", "Attr"}}, // Attr is 1.25, Artifact is 1.26 {"c_test.go", " f.F", 4, []string{"Failed"}}, {"c_test.go", "f.N", 3, []string{"Name"}}, {"b_test.go", "f.F", 3, []string{"Fuzz(func(t *testing.T, a []byte)", "Fail", "FailNow",
diff --git a/gopls/internal/test/integration/completion/completion_test.go b/gopls/internal/test/integration/completion/completion_test.go index e07b86d..68bae9d 100644 --- a/gopls/internal/test/integration/completion/completion_test.go +++ b/gopls/internal/test/integration/completion/completion_test.go
@@ -285,7 +285,7 @@ // A 'want' item with a '?' suffix is optional, to ease // migration across versions. Remove any that are not present // in the 'got' set. - out := want[:0] // in-place compaction + var out []string for _, item := range want { item, optional := strings.CutSuffix(item, "?") if optional && !slices.Contains(got, item) {