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)
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.
// 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(""),
}
}
}
args := []string{
"test",
- short(),
+ "-short=" + short(),
t.tags(),
t.timeout(timeoutSec),
"-gcflags=all=" + gogcflags,
ranGoBench = true
args := []string{
"test",
- short(),
+ "-short=" + short(),
"-race",
t.timeout(1200), // longer timeout for race with benchmarks
"-run=^$", // nothing. only benchmarks.
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 {
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