From 378b9e1d59e2352276eff57e8153a4ff4053d8a7 Mon Sep 17 00:00:00 2001 From: Rebecca Stambler Date: Wed, 29 Sep 2021 15:24:39 -0400 Subject: internal/lsp/analysis: add typeparams tests for nonewvars and noresultvalues Also, change the way we test fillreturns to match the other analyzers. Change-Id: If2124775c583524ff61017452bf065965a6cc97e Reviewed-on: https://go-review.googlesource.com/c/tools/+/353171 Trust: Rebecca Stambler Run-TryBot: Rebecca Stambler gopls-CI: kokoro TryBot-Result: Go Bot Reviewed-by: Robert Findley --- internal/lsp/analysis/fillreturns/fillreturns_test.go | 7 ++++++- internal/lsp/analysis/fillreturns/testdata/src/a/a_118.go | 10 ---------- .../lsp/analysis/fillreturns/testdata/src/a/a_118.go.golden | 10 ---------- .../lsp/analysis/fillreturns/testdata/src/a/typeparams/a.go | 5 +++++ .../analysis/fillreturns/testdata/src/a/typeparams/a.go.golden | 5 +++++ internal/lsp/analysis/nonewvars/nonewvars_test.go | 7 ++++++- internal/lsp/analysis/nonewvars/testdata/src/typeparams/a.go | 6 ++++++ .../lsp/analysis/nonewvars/testdata/src/typeparams/a.go.golden | 6 ++++++ internal/lsp/analysis/noresultvalues/noresultvalues_test.go | 7 ++++++- .../lsp/analysis/noresultvalues/testdata/src/typeparams/a.go | 6 ++++++ .../noresultvalues/testdata/src/typeparams/a.go.golden | 6 ++++++ 11 files changed, 52 insertions(+), 23 deletions(-) delete mode 100644 internal/lsp/analysis/fillreturns/testdata/src/a/a_118.go delete mode 100644 internal/lsp/analysis/fillreturns/testdata/src/a/a_118.go.golden create mode 100644 internal/lsp/analysis/fillreturns/testdata/src/a/typeparams/a.go create mode 100644 internal/lsp/analysis/fillreturns/testdata/src/a/typeparams/a.go.golden create mode 100644 internal/lsp/analysis/nonewvars/testdata/src/typeparams/a.go create mode 100644 internal/lsp/analysis/nonewvars/testdata/src/typeparams/a.go.golden create mode 100644 internal/lsp/analysis/noresultvalues/testdata/src/typeparams/a.go create mode 100644 internal/lsp/analysis/noresultvalues/testdata/src/typeparams/a.go.golden diff --git a/internal/lsp/analysis/fillreturns/fillreturns_test.go b/internal/lsp/analysis/fillreturns/fillreturns_test.go index d1ad6566d..7ef0d4679 100644 --- a/internal/lsp/analysis/fillreturns/fillreturns_test.go +++ b/internal/lsp/analysis/fillreturns/fillreturns_test.go @@ -9,9 +9,14 @@ import ( "golang.org/x/tools/go/analysis/analysistest" "golang.org/x/tools/internal/lsp/analysis/fillreturns" + "golang.org/x/tools/internal/typeparams" ) func Test(t *testing.T) { testdata := analysistest.TestData() - analysistest.RunWithSuggestedFixes(t, testdata, fillreturns.Analyzer, "a") + tests := []string{"a"} + if typeparams.Enabled { + tests = append(tests, "typeparams") + } + analysistest.RunWithSuggestedFixes(t, testdata, fillreturns.Analyzer, tests...) } diff --git a/internal/lsp/analysis/fillreturns/testdata/src/a/a_118.go b/internal/lsp/analysis/fillreturns/testdata/src/a/a_118.go deleted file mode 100644 index 8c371eaef..000000000 --- a/internal/lsp/analysis/fillreturns/testdata/src/a/a_118.go +++ /dev/null @@ -1,10 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -package fillreturns - -type Any interface{} - -func hello[T any]() int { - return -} diff --git a/internal/lsp/analysis/fillreturns/testdata/src/a/a_118.go.golden b/internal/lsp/analysis/fillreturns/testdata/src/a/a_118.go.golden deleted file mode 100644 index 8c371eaef..000000000 --- a/internal/lsp/analysis/fillreturns/testdata/src/a/a_118.go.golden +++ /dev/null @@ -1,10 +0,0 @@ -//go:build go1.18 -// +build go1.18 - -package fillreturns - -type Any interface{} - -func hello[T any]() int { - return -} diff --git a/internal/lsp/analysis/fillreturns/testdata/src/a/typeparams/a.go b/internal/lsp/analysis/fillreturns/testdata/src/a/typeparams/a.go new file mode 100644 index 000000000..8454bd2ce --- /dev/null +++ b/internal/lsp/analysis/fillreturns/testdata/src/a/typeparams/a.go @@ -0,0 +1,5 @@ +package fillreturns + +func hello[T any]() int { + return +} diff --git a/internal/lsp/analysis/fillreturns/testdata/src/a/typeparams/a.go.golden b/internal/lsp/analysis/fillreturns/testdata/src/a/typeparams/a.go.golden new file mode 100644 index 000000000..8454bd2ce --- /dev/null +++ b/internal/lsp/analysis/fillreturns/testdata/src/a/typeparams/a.go.golden @@ -0,0 +1,5 @@ +package fillreturns + +func hello[T any]() int { + return +} diff --git a/internal/lsp/analysis/nonewvars/nonewvars_test.go b/internal/lsp/analysis/nonewvars/nonewvars_test.go index 3983bc523..dc58ab0ff 100644 --- a/internal/lsp/analysis/nonewvars/nonewvars_test.go +++ b/internal/lsp/analysis/nonewvars/nonewvars_test.go @@ -9,9 +9,14 @@ import ( "golang.org/x/tools/go/analysis/analysistest" "golang.org/x/tools/internal/lsp/analysis/nonewvars" + "golang.org/x/tools/internal/typeparams" ) func Test(t *testing.T) { testdata := analysistest.TestData() - analysistest.RunWithSuggestedFixes(t, testdata, nonewvars.Analyzer, "a") + tests := []string{"a"} + if typeparams.Enabled { + tests = append(tests, "typeparams") + } + analysistest.RunWithSuggestedFixes(t, testdata, nonewvars.Analyzer, tests...) } diff --git a/internal/lsp/analysis/nonewvars/testdata/src/typeparams/a.go b/internal/lsp/analysis/nonewvars/testdata/src/typeparams/a.go new file mode 100644 index 000000000..b381c9c09 --- /dev/null +++ b/internal/lsp/analysis/nonewvars/testdata/src/typeparams/a.go @@ -0,0 +1,6 @@ +package nonewvars + +func hello[T any]() int { + var z T + z := 1 // want "no new variables on left side of :=" +} diff --git a/internal/lsp/analysis/nonewvars/testdata/src/typeparams/a.go.golden b/internal/lsp/analysis/nonewvars/testdata/src/typeparams/a.go.golden new file mode 100644 index 000000000..3a5117301 --- /dev/null +++ b/internal/lsp/analysis/nonewvars/testdata/src/typeparams/a.go.golden @@ -0,0 +1,6 @@ +package nonewvars + +func hello[T any]() int { + var z T + z = 1 // want "no new variables on left side of :=" +} diff --git a/internal/lsp/analysis/noresultvalues/noresultvalues_test.go b/internal/lsp/analysis/noresultvalues/noresultvalues_test.go index 6b9451bf2..12198a1c1 100644 --- a/internal/lsp/analysis/noresultvalues/noresultvalues_test.go +++ b/internal/lsp/analysis/noresultvalues/noresultvalues_test.go @@ -9,9 +9,14 @@ import ( "golang.org/x/tools/go/analysis/analysistest" "golang.org/x/tools/internal/lsp/analysis/noresultvalues" + "golang.org/x/tools/internal/typeparams" ) func Test(t *testing.T) { testdata := analysistest.TestData() - analysistest.RunWithSuggestedFixes(t, testdata, noresultvalues.Analyzer, "a") + tests := []string{"a"} + if typeparams.Enabled { + tests = append(tests, "typeparams") + } + analysistest.RunWithSuggestedFixes(t, testdata, noresultvalues.Analyzer, tests...) } diff --git a/internal/lsp/analysis/noresultvalues/testdata/src/typeparams/a.go b/internal/lsp/analysis/noresultvalues/testdata/src/typeparams/a.go new file mode 100644 index 000000000..d1b298010 --- /dev/null +++ b/internal/lsp/analysis/noresultvalues/testdata/src/typeparams/a.go @@ -0,0 +1,6 @@ +package noresult + +func hello[T any]() { + var z T + return z // want "no result values expected" +} diff --git a/internal/lsp/analysis/noresultvalues/testdata/src/typeparams/a.go.golden b/internal/lsp/analysis/noresultvalues/testdata/src/typeparams/a.go.golden new file mode 100644 index 000000000..c5f56a927 --- /dev/null +++ b/internal/lsp/analysis/noresultvalues/testdata/src/typeparams/a.go.golden @@ -0,0 +1,6 @@ +package noresult + +func hello[T any]() { + var z T + return // want "no result values expected" +} -- cgit v1.2.3