aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/next/3-tools.md9
-rw-r--r--src/cmd/go/alldocs.go2
-rw-r--r--src/cmd/go/internal/test/test.go4
-rw-r--r--src/cmd/go/testdata/script/test_bad_example.txt5
4 files changed, 15 insertions, 5 deletions
diff --git a/doc/next/3-tools.md b/doc/next/3-tools.md
index bdbe6c0771..56d82e4926 100644
--- a/doc/next/3-tools.md
+++ b/doc/next/3-tools.md
@@ -10,3 +10,12 @@ or copying the `go` binary.
### Cgo {#cgo}
+### Vet
+
+The new `tests` analyzer reports common mistakes in declarations of
+tests, fuzzers, benchmarks, and examples in test packages, such as
+malformed names, wrong signatures, or examples that document
+non-existent identifiers. Some of these mistakes may cause tests not
+to run.
+
+This analyzer is among the subset of analyzers that are run by `go test`.
diff --git a/src/cmd/go/alldocs.go b/src/cmd/go/alldocs.go
index dde47ac1b8..cf3485faac 100644
--- a/src/cmd/go/alldocs.go
+++ b/src/cmd/go/alldocs.go
@@ -1756,7 +1756,7 @@
// finds any problems, go test reports those and does not run the test
// binary. Only a high-confidence subset of the default go vet checks are
// used. That subset is: atomic, bool, buildtags, directive, errorsas,
-// ifaceassert, nilfunc, printf, and stringintconv. You can see
+// ifaceassert, nilfunc, printf, stringintconv, and tests. You can see
// the documentation for these and other vet tests via "go doc cmd/vet".
// To disable the running of go vet, use the -vet=off flag. To run all
// checks, use the -vet=all flag.
diff --git a/src/cmd/go/internal/test/test.go b/src/cmd/go/internal/test/test.go
index f1555fd5d4..17dc3a0fdb 100644
--- a/src/cmd/go/internal/test/test.go
+++ b/src/cmd/go/internal/test/test.go
@@ -79,7 +79,7 @@ and its test source files to identify significant problems. If go vet
finds any problems, go test reports those and does not run the test
binary. Only a high-confidence subset of the default go vet checks are
used. That subset is: atomic, bool, buildtags, directive, errorsas,
-ifaceassert, nilfunc, printf, and stringintconv. You can see
+ifaceassert, nilfunc, printf, stringintconv, and tests. You can see
the documentation for these and other vet tests via "go doc cmd/vet".
To disable the running of go vet, use the -vet=off flag. To run all
checks, use the -vet=all flag.
@@ -667,7 +667,7 @@ var defaultVetFlags = []string{
"-slog",
"-stringintconv",
// "-structtags",
- // "-tests",
+ "-tests",
// "-unreachable",
// "-unsafeptr",
// "-unusedresult",
diff --git a/src/cmd/go/testdata/script/test_bad_example.txt b/src/cmd/go/testdata/script/test_bad_example.txt
index 1d147b663f..46bc264779 100644
--- a/src/cmd/go/testdata/script/test_bad_example.txt
+++ b/src/cmd/go/testdata/script/test_bad_example.txt
@@ -1,6 +1,7 @@
# Tests that invalid examples are ignored.
# Verifies golang.org/issue/35284
-go test x_test.go
+# Disable vet, as 'tests' analyzer objects to surplus parameter.
+go test -vet=off x_test.go
-- x_test.go --
package x
@@ -10,4 +11,4 @@ import "fmt"
func ExampleThisShouldNotHaveAParameter(thisShouldntExist int) {
fmt.Println("X")
// Output:
-} \ No newline at end of file
+}