internal/lsp: fix data race in cmd tests
fixes golang/go#33392
Change-Id: I442bf8c04d793e06631a1a9d6c905cb2dcd284b8
Reviewed-on: https://go-review.googlesource.com/c/tools/+/189944
Run-TryBot: Ian Cottrell <iancottrell@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
diff --git a/internal/lsp/cmd/check_test.go b/internal/lsp/cmd/check_test.go
index 629c073..9771ca9 100644
--- a/internal/lsp/cmd/check_test.go
+++ b/internal/lsp/cmd/check_test.go
@@ -9,6 +9,7 @@
"strings"
"testing"
+ "golang.org/x/tools/internal/lsp/cmd"
"golang.org/x/tools/internal/lsp/tests"
"golang.org/x/tools/internal/span"
"golang.org/x/tools/internal/tool"
@@ -21,8 +22,9 @@
}
fname := uri.Filename()
args := []string{"-remote=internal", "check", fname}
+ app := cmd.New("gopls-test", r.data.Config.Dir, r.data.Exported.Config.Env)
out := captureStdOut(t, func() {
- tool.Main(r.ctx, r.app, args)
+ tool.Main(r.ctx, app, args)
})
// parse got into a collection of reports
got := map[string]struct{}{}
diff --git a/internal/lsp/cmd/cmd_test.go b/internal/lsp/cmd/cmd_test.go
index 3abc05c..88847e7 100644
--- a/internal/lsp/cmd/cmd_test.go
+++ b/internal/lsp/cmd/cmd_test.go
@@ -15,14 +15,12 @@
"testing"
"golang.org/x/tools/go/packages/packagestest"
- "golang.org/x/tools/internal/lsp/cmd"
"golang.org/x/tools/internal/lsp/tests"
)
type runner struct {
exporter packagestest.Exporter
data *tests.Data
- app *cmd.Application
ctx context.Context
}
@@ -37,7 +35,6 @@
r := &runner{
exporter: exporter,
data: data,
- app: cmd.New("gopls-test", data.Config.Dir, data.Exported.Config.Env),
ctx: tests.Context(t),
}
tests.Run(t, r, data)
diff --git a/internal/lsp/cmd/definition_test.go b/internal/lsp/cmd/definition_test.go
index 992149d..480a8cc 100644
--- a/internal/lsp/cmd/definition_test.go
+++ b/internal/lsp/cmd/definition_test.go
@@ -83,7 +83,8 @@
uri := d.Src.URI()
args = append(args, fmt.Sprint(d.Src))
got := captureStdOut(t, func() {
- tool.Main(r.ctx, r.app, args)
+ app := cmd.New("gopls-test", r.data.Config.Dir, r.data.Exported.Config.Env)
+ tool.Main(r.ctx, app, args)
})
got = normalizePaths(r.data, got)
if mode&jsonGoDef != 0 && runtime.GOOS == "windows" {