diff options
-rw-r--r-- | doc/next/3-tools.md | 9 | ||||
-rw-r--r-- | src/cmd/go/alldocs.go | 2 | ||||
-rw-r--r-- | src/cmd/go/internal/test/test.go | 4 | ||||
-rw-r--r-- | src/cmd/go/testdata/script/test_bad_example.txt | 5 |
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 +} |