From 528a2984e2718573c45f68c255a511dec2be1c47 Mon Sep 17 00:00:00 2001 From: Ian Cottrell Date: Mon, 12 Aug 2019 20:54:11 -0400 Subject: [PATCH] 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 TryBot-Result: Gobot Gobot Reviewed-by: Rebecca Stambler --- internal/lsp/cmd/check_test.go | 4 +++- internal/lsp/cmd/cmd_test.go | 3 --- internal/lsp/cmd/definition_test.go | 3 ++- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/lsp/cmd/check_test.go b/internal/lsp/cmd/check_test.go index 629c073e79..9771ca922a 100644 --- a/internal/lsp/cmd/check_test.go +++ b/internal/lsp/cmd/check_test.go @@ -9,6 +9,7 @@ import ( "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 @@ func (r *runner) Diagnostics(t *testing.T, data tests.Diagnostics) { } 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 3abc05c730..88847e77bd 100644 --- a/internal/lsp/cmd/cmd_test.go +++ b/internal/lsp/cmd/cmd_test.go @@ -15,14 +15,12 @@ import ( "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 @@ func testCommandLine(t *testing.T, exporter packagestest.Exporter) { 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 992149d0fe..480a8cc110 100644 --- a/internal/lsp/cmd/definition_test.go +++ b/internal/lsp/cmd/definition_test.go @@ -83,7 +83,8 @@ func (r *runner) Definition(t *testing.T, data tests.Definitions) { 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" {