mirror of
https://github.com/golang/go
synced 2024-11-23 19:30:05 -07:00
cmd/dist: use GO_TEST_SHORT value more consistently
There were two places where the -short flag was added in order to speed up tests when run in short mode, in CL 178399 and CL 177417. It appears viable to re-use the GO_TEST_SHORT value so that -short flag is not used when the tests are executed on a longtest builder, where it is not a goal to skip slow tests for improved performance. Do so, in order to make the testing configurations simpler and more predictable. Factor out the flag name out of the string returned by short, so that it can be used in context of 'go test' which can accept a -short flag, and a test binary which requires the use of a longer -test.short flag. For #39054. For #29252. Change-Id: I52dfbef73cc8307735c52e2ebaa609305fb05933 Reviewed-on: https://go-review.googlesource.com/c/go/+/233898 Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
b58d297416
commit
20b4987d3e
24
src/cmd/dist/test.go
vendored
24
src/cmd/dist/test.go
vendored
@ -241,13 +241,15 @@ func (t *tester) shouldRunTest(name string) bool {
|
||||
return false
|
||||
}
|
||||
|
||||
// short returns a -short flag to pass to 'go test'.
|
||||
// It returns "-short", unless the environment variable
|
||||
// short returns a -short flag value to use with 'go test'
|
||||
// or a test binary for tests intended to run in short mode.
|
||||
// It returns "true", unless the environment variable
|
||||
// GO_TEST_SHORT is set to a non-empty, false-ish string.
|
||||
//
|
||||
// This environment variable is meant to be an internal
|
||||
// detail between the Go build system and cmd/dist
|
||||
// and is not intended for use by users.
|
||||
// detail between the Go build system and cmd/dist for
|
||||
// the purpose of longtest builders, and is not intended
|
||||
// for use by users. See golang.org/issue/12508.
|
||||
func short() string {
|
||||
if v := os.Getenv("GO_TEST_SHORT"); v != "" {
|
||||
short, err := strconv.ParseBool(v)
|
||||
@ -255,10 +257,10 @@ func short() string {
|
||||
fatalf("invalid GO_TEST_SHORT %q: %v", v, err)
|
||||
}
|
||||
if !short {
|
||||
return "-short=false"
|
||||
return "false"
|
||||
}
|
||||
}
|
||||
return "-short"
|
||||
return "true"
|
||||
}
|
||||
|
||||
// goTest returns the beginning of the go test command line.
|
||||
@ -266,7 +268,7 @@ func short() string {
|
||||
// defaults as later arguments in the command line.
|
||||
func (t *tester) goTest() []string {
|
||||
return []string{
|
||||
"go", "test", short(), "-count=1", t.tags(), t.runFlag(""),
|
||||
"go", "test", "-short=" + short(), "-count=1", t.tags(), t.runFlag(""),
|
||||
}
|
||||
}
|
||||
|
||||
@ -335,7 +337,7 @@ func (t *tester) registerStdTest(pkg string) {
|
||||
}
|
||||
args := []string{
|
||||
"test",
|
||||
short(),
|
||||
"-short=" + short(),
|
||||
t.tags(),
|
||||
t.timeout(timeoutSec),
|
||||
"-gcflags=all=" + gogcflags,
|
||||
@ -373,7 +375,7 @@ func (t *tester) registerRaceBenchTest(pkg string) {
|
||||
ranGoBench = true
|
||||
args := []string{
|
||||
"test",
|
||||
short(),
|
||||
"-short=" + short(),
|
||||
"-race",
|
||||
t.timeout(1200), // longer timeout for race with benchmarks
|
||||
"-run=^$", // nothing. only benchmarks.
|
||||
@ -1069,7 +1071,7 @@ func (t *tester) runHostTest(dir, pkg string) error {
|
||||
if err := cmd.Run(); err != nil {
|
||||
return err
|
||||
}
|
||||
return t.dirCmd(dir, f.Name(), "-test.short").Run()
|
||||
return t.dirCmd(dir, f.Name(), "-test.short="+short()).Run()
|
||||
}
|
||||
|
||||
func (t *tester) cgoTest(dt *distTest) error {
|
||||
@ -1570,7 +1572,7 @@ func (t *tester) prebuiltGoPackageTestBinary() string {
|
||||
func (t *tester) runPrecompiledStdTest(timeout time.Duration) error {
|
||||
bin := t.prebuiltGoPackageTestBinary()
|
||||
fmt.Fprintf(os.Stderr, "# %s: using pre-built %s...\n", stdMatches[0], bin)
|
||||
cmd := exec.Command(bin, "-test.short", "-test.timeout="+timeout.String())
|
||||
cmd := exec.Command(bin, "-test.short="+short(), "-test.timeout="+timeout.String())
|
||||
cmd.Dir = filepath.Dir(bin)
|
||||
cmd.Stdout = os.Stdout
|
||||
cmd.Stderr = os.Stderr
|
||||
|
Loading…
Reference in New Issue
Block a user