From addffd168b0c34923d29dbdc4f2159fac19a3a4e Mon Sep 17 00:00:00 2001 From: Heschi Kreinick Date: Wed, 4 Dec 2019 20:39:06 -0500 Subject: [PATCH] internal/lsp: fix golden generation for import tests A long time ago I only fixed golden generation for lsp/source. Get lsp/ and lsp/cmd too. We have import tests that aren't formatted correctly, so we can't use goimports to generate goldens. Just trust got. Change-Id: If924503c0c0f6c60cd31fce194a8c1216001035b Reviewed-on: https://go-review.googlesource.com/c/tools/+/209981 Run-TryBot: Heschi Kreinick TryBot-Result: Gobot Gobot Reviewed-by: Rebecca Stambler --- internal/lsp/cmd/test/imports.go | 5 +---- internal/lsp/lsp_test.go | 18 ++++++------------ 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/internal/lsp/cmd/test/imports.go b/internal/lsp/cmd/test/imports.go index 03d7ecc956..04c700b96c 100644 --- a/internal/lsp/cmd/test/imports.go +++ b/internal/lsp/cmd/test/imports.go @@ -5,7 +5,6 @@ package cmdtest import ( - "os/exec" "testing" "golang.org/x/tools/internal/span" @@ -16,9 +15,7 @@ func (r *runner) Import(t *testing.T, spn span.Span) { filename := uri.Filename() got, _ := r.NormalizeGoplsCmd(t, "imports", filename) want := string(r.data.Golden("goimports", filename, func() ([]byte, error) { - cmd := exec.Command("goimports", filename) - out, _ := cmd.Output() // ignore error, sometimes we have intentionally ungofmt-able files - return out, nil + return []byte(got), nil })) if want != got { t.Errorf("imports failed for %s, expected:\n%q\ngot:\n%q", filename, want, got) diff --git a/internal/lsp/lsp_test.go b/internal/lsp/lsp_test.go index 0fd2258357..b2414ad857 100644 --- a/internal/lsp/lsp_test.go +++ b/internal/lsp/lsp_test.go @@ -291,22 +291,13 @@ func (r *runner) Format(t *testing.T, spn span.Span) { func (r *runner) Import(t *testing.T, spn span.Span) { uri := spn.URI() filename := uri.Filename() - goimported := string(r.data.Golden("goimports", filename, func() ([]byte, error) { - cmd := exec.Command("goimports", filename) - out, _ := cmd.Output() // ignore error, sometimes we have intentionally ungofmt-able files - return out, nil - })) - actions, err := r.server.CodeAction(r.ctx, &protocol.CodeActionParams{ TextDocument: protocol.TextDocumentIdentifier{ URI: protocol.NewURI(uri), }, }) if err != nil { - if goimported != "" { - t.Error(err) - } - return + t.Fatal(err) } m, err := r.data.Mapper(uri) if err != nil { @@ -320,8 +311,11 @@ func (r *runner) Import(t *testing.T, spn span.Span) { } got = res[uri] } - if goimported != got { - t.Errorf("import failed for %s, expected:\n%v\ngot:\n%v", filename, goimported, got) + want := string(r.data.Golden("goimports", filename, func() ([]byte, error) { + return []byte(got), nil + })) + if want != got { + t.Errorf("import failed for %s, expected:\n%v\ngot:\n%v", filename, want, got) } }