test: restore no-gogcflags build shortcut, save time

With a clean cache on a laptop
before change
time go run run.go -- . fixedbugs
  real	2m10.195s
  user	3m16.547s
  sys	1m52.939s

Or, before, directly after make.bash (the actual use case we care about)
time go run run.go -- . fixedbugs
  real	2m8.704s
  user	3m12.327s
  sys	1m49.123s

after change
time go run run.go -- . fixedbugs
  real	1m38.915s
  user	2m38.389s
  sys	1m8.490s

Tests, fortunately, still seem to pass.

Latest version of this takes the slow route for cross-compilation, which includes wasm.

Change-Id: Iad19951612defa96c4e9830bce920c5e8733834a
Reviewed-on: https://go-review.googlesource.com/c/go/+/223083
Run-TryBot: David Chase <drchase@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
This commit is contained in:
David Chase 2020-03-11 20:17:14 -04:00
parent 938ad552cd
commit 040855e39b

View File

@ -462,6 +462,10 @@ func goGcflags() string {
return "-gcflags=all=" + os.Getenv("GO_GCFLAGS")
}
func goGcflagsIsEmpty() bool {
return "" == os.Getenv("GO_GCFLAGS")
}
// run runs a test.
func (t *test) run() {
start := time.Now()
@ -1002,7 +1006,7 @@ func (t *test) run() {
useTmp = false
var out []byte
var err error
if len(flags)+len(args) == 0 && goGcflags() == "" && !*linkshared {
if len(flags)+len(args) == 0 && goGcflagsIsEmpty() && !*linkshared && goarch == runtime.GOARCH && goos == runtime.GOOS {
// If we're not using special go command flags,
// skip all the go command machinery.
// This avoids any time the go command would