4f4a855d82
Reviewed-on: https://go-review.googlesource.com/c/158019 gotools/: * Makefile.am (go_cmd_vet_files): Update for Go1.12beta2 release. (GOTOOLS_TEST_TIMEOUT): Increase to 600. (check-runtime): Export LD_LIBRARY_PATH before computing GOARCH and GOOS. (check-vet): Copy golang.org/x/tools into check-vet-dir. * Makefile.in: Regenerate. gcc/testsuite/: * go.go-torture/execute/names-1.go: Stop using debug/xcoff, which is no longer externally visible. From-SVN: r268084
72 lines
3.1 KiB
Go
72 lines
3.1 KiB
Go
// Copyright 2018 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
/*
|
|
|
|
Vet examines Go source code and reports suspicious constructs, such as Printf
|
|
calls whose arguments do not align with the format string. Vet uses heuristics
|
|
that do not guarantee all reports are genuine problems, but it can find errors
|
|
not caught by the compilers.
|
|
|
|
Vet is normally invoked through the go command.
|
|
This command vets the package in the current directory:
|
|
|
|
go vet
|
|
|
|
whereas this one vets the packages whose path is provided:
|
|
|
|
go vet my/project/...
|
|
|
|
Use "go help packages" to see other ways of specifying which packages to vet.
|
|
|
|
Vet's exit code is non-zero for erroneous invocation of the tool or if a
|
|
problem was reported, and 0 otherwise. Note that the tool does not
|
|
check every possible problem and depends on unreliable heuristics,
|
|
so it should be used as guidance only, not as a firm indicator of
|
|
program correctness.
|
|
|
|
To list the available checks, run "go tool vet help":
|
|
|
|
asmdecl report mismatches between assembly files and Go declarations
|
|
assign check for useless assignments
|
|
atomic check for common mistakes using the sync/atomic package
|
|
bools check for common mistakes involving boolean operators
|
|
buildtag check that +build tags are well-formed and correctly located
|
|
cgocall detect some violations of the cgo pointer passing rules
|
|
composites check for unkeyed composite literals
|
|
copylocks check for locks erroneously passed by value
|
|
httpresponse check for mistakes using HTTP responses
|
|
loopclosure check references to loop variables from within nested functions
|
|
lostcancel check cancel func returned by context.WithCancel is called
|
|
nilfunc check for useless comparisons between functions and nil
|
|
printf check consistency of Printf format strings and arguments
|
|
shift check for shifts that equal or exceed the width of the integer
|
|
stdmethods check signature of methods of well-known interfaces
|
|
structtag check that struct field tags conform to reflect.StructTag.Get
|
|
tests check for common mistaken usages of tests and examples
|
|
unmarshal report passing non-pointer or non-interface values to unmarshal
|
|
unreachable check for unreachable code
|
|
unsafeptr check for invalid conversions of uintptr to unsafe.Pointer
|
|
unusedresult check for unused results of calls to some functions
|
|
|
|
For details and flags of a particular check, such as printf, run "go tool vet help printf".
|
|
|
|
By default, all checks are performed.
|
|
If any flags are explicitly set to true, only those tests are run.
|
|
Conversely, if any flag is explicitly set to false, only those tests are disabled.
|
|
Thus -printf=true runs the printf check,
|
|
and -printf=false runs all checks except the printf check.
|
|
|
|
For information on writing a new check, see golang.org/x/tools/go/analysis.
|
|
|
|
Core flags:
|
|
|
|
-c=N
|
|
display offending line plus N lines of surrounding context
|
|
-json
|
|
emit analysis diagnostics (and errors) in JSON format
|
|
|
|
*/
|
|
package main
|