1
0
mirror of https://github.com/golang/go synced 2024-09-29 08:24:36 -06:00

cmd/dist: skip testing packages without tests in short test mode

For short all.bash, we can keep the small speedup of 2-10 seconds by
skipping 'go test' on packages without tests. This is viable without
coverage loss since the Go release process is guaranteed to run long
tests for all first class ports.

For golang/go#60463.

Change-Id: Ib5a6bd357d757141bc8f1c1dec148a6565726587
Reviewed-on: https://go-review.googlesource.com/c/go/+/503115
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Bryan Mills <bcmills@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
This commit is contained in:
Dmitri Shuralyov 2023-06-13 20:14:26 -04:00 committed by Gopher Robot
parent d2ec964e9c
commit d79ec708bd

16
src/cmd/dist/test.go vendored
View File

@ -605,12 +605,18 @@ func (t *tester) registerTests() {
// that running 'go test std cmd' could find problems in.
// (In race test mode, also set -tags=race.)
//
// This includes vendored packages and other packages without
// tests so that 'dist test' finds if any of them don't build,
// have a problem reported by high-confidence vet checks that
// come with 'go test', and anything else 'go test' may check
// in the future. See go.dev/issue/60463.
// In long test mode, this includes vendored packages and other
// packages without tests so that 'dist test' finds if any of
// them don't build, have a problem reported by high-confidence
// vet checks that come with 'go test', and anything else it
// may check in the future. See go.dev/issue/60463.
cmd := exec.Command(gorootBinGo, "list")
if t.short {
// In short test mode, use a format string to only
// list packages and commands that have tests.
const format = "{{if (or .TestGoFiles .XTestGoFiles)}}{{.ImportPath}}{{end}}"
cmd.Args = append(cmd.Args, "-f", format)
}
if t.race {
cmd.Args = append(cmd.Args, "-tags=race")
}