diff options
Diffstat (limited to 'src/cmd')
| -rw-r--r-- | src/cmd/dist/test.go | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go index 78213a7a55..b09c3f2ce8 100644 --- a/src/cmd/dist/test.go +++ b/src/cmd/dist/test.go @@ -30,6 +30,8 @@ func cmdtest() { var t tester + t.asmflags = os.Getenv("GO_TEST_ASMFLAGS") + var noRebuild bool flag.BoolVar(&t.listMode, "list", false, "list available tests") flag.BoolVar(&t.rebuild, "rebuild", false, "rebuild everything first") @@ -63,6 +65,10 @@ type tester struct { failed bool keepGoing bool compileOnly bool // just try to compile all tests, but no need to run + short bool + cgoEnabled bool + asmflags string + json bool runRxStr string runRx *regexp.Regexp runRxWant bool // want runRx to match (true) or not match (false) @@ -70,10 +76,6 @@ type tester struct { banner string // prefix, or "" for none lastHeading string // last dir heading printed - short bool - cgoEnabled bool - json bool - tests []distTest // use addTest to extend testNames map[string]bool timeoutScale int @@ -478,6 +480,9 @@ func (opts *goTest) buildArgs(t *tester) (build, run, pkgs, testFlags []string, if opts.ldflags != "" { build = append(build, "-ldflags="+opts.ldflags) } + if t.asmflags != "" { + build = append(build, "-asmflags="+t.asmflags) + } if opts.buildmode != "" { build = append(build, "-buildmode="+opts.buildmode) } @@ -806,7 +811,7 @@ func (t *tester) registerTests() { } // Spectre mitigation smoke test. - if goos == "linux" && goarch == "amd64" { + if goos == "linux" && goarch == "amd64" && !(gogcflags == "-spectre=all" && t.asmflags == "all=-spectre=all") { // Pick a bunch of packages known to have some assembly. pkgs := []string{"internal/runtime/...", "reflect", "crypto/..."} if !t.short { |
