mirror of
https://github.com/golang/go
synced 2024-11-22 02:54:39 -07:00
cmd/go/internal/test: add 'tests' vet check to 'go test' suite
The tests analyser reports structural problems in test declarations. Presumably most of these would be caught by go test itself, which compiles and runs (some subset of) the tests, but Benchmark and Fuzz functions are executed less frequently and may benefit more from static checks. Also, reflect the change in go test help message. + release note Fixes golang/go#44251 Change-Id: If5b9dee6d18fa0bc4de7f5f5f549eddeae953fc2 Reviewed-on: https://go-review.googlesource.com/c/go/+/529816 Reviewed-by: Ian Lance Taylor <iant@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Alan Donovan <adonovan@google.com>
This commit is contained in:
parent
6133c1e4e2
commit
f1d60500bc
@ -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`.
|
||||
|
@ -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.
|
||||
|
@ -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",
|
||||
|
@ -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:
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user