aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRebecca Stambler <rstambler@golang.org>2021-09-29 15:24:39 -0400
committerRebecca Stambler <rstambler@golang.org>2021-10-13 04:56:02 +0000
commit378b9e1d59e2352276eff57e8153a4ff4053d8a7 (patch)
treeb0b042530bc5702ee8ec86b138f77fa8666857fd
parent24389d4d0ca5f0b2458e2bcc37605b70d64c581b (diff)
downloadgolang-x-tools-378b9e1d59e2352276eff57e8153a4ff4053d8a7.tar.gz
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 <rstambler@golang.org> Run-TryBot: Rebecca Stambler <rstambler@golang.org> gopls-CI: kokoro <noreply+kokoro@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Robert Findley <rfindley@google.com>
-rw-r--r--internal/lsp/analysis/fillreturns/fillreturns_test.go7
-rw-r--r--internal/lsp/analysis/fillreturns/testdata/src/a/a_118.go10
-rw-r--r--internal/lsp/analysis/fillreturns/testdata/src/a/a_118.go.golden10
-rw-r--r--internal/lsp/analysis/fillreturns/testdata/src/a/typeparams/a.go5
-rw-r--r--internal/lsp/analysis/fillreturns/testdata/src/a/typeparams/a.go.golden5
-rw-r--r--internal/lsp/analysis/nonewvars/nonewvars_test.go7
-rw-r--r--internal/lsp/analysis/nonewvars/testdata/src/typeparams/a.go6
-rw-r--r--internal/lsp/analysis/nonewvars/testdata/src/typeparams/a.go.golden6
-rw-r--r--internal/lsp/analysis/noresultvalues/noresultvalues_test.go7
-rw-r--r--internal/lsp/analysis/noresultvalues/testdata/src/typeparams/a.go6
-rw-r--r--internal/lsp/analysis/noresultvalues/testdata/src/typeparams/a.go.golden6
11 files changed, 52 insertions, 23 deletions
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"
+}