Skip to content

Commit

Permalink
test: skip cross-arch codegen tests in all.bash
Browse files Browse the repository at this point in the history
The test/codegen tests check all architectures
mentioned in the test file, but this requires
building at least the runtime for that architecture.
This CL changes the test to only check the local
architecture, leaving checking of other architectures
to the relevant builders, as usual.

This cuts 'go run run.go codegen' by 12r 78u 21s.

After this change, all.bash runs in ~4:40 on my laptop.

For #26473.

Change-Id: Ia0354d1aff2df2949f838528c8171410bc42dc8b
Reviewed-on: https://go-review.googlesource.com/c/go/+/177577
Run-TryBot: Russ Cox <[email protected]>
Reviewed-by: Ian Lance Taylor <[email protected]>
  • Loading branch information
rsc committed May 21, 2019
1 parent 2d7cb29 commit 4f248e9
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions test/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ var (
keep = flag.Bool("k", false, "keep. keep temporary directory.")
numParallel = flag.Int("n", runtime.NumCPU(), "number of parallel tests to run")
summary = flag.Bool("summary", false, "show summary of results")
allCodegen = flag.Bool("all_codegen", false, "run all goos/goarch for codegen")
showSkips = flag.Bool("show_skips", false, "show skipped tests")
runSkips = flag.Bool("run_skips", false, "run skipped tests (ignore skip and build tags)")
linkshared = flag.Bool("linkshared", false, "")
Expand Down Expand Up @@ -653,7 +654,13 @@ func (t *test) run() {
// Compile Go file and match the generated assembly
// against a set of regexps in comments.
ops := t.wantedAsmOpcodes(long)
self := runtime.GOOS + "/" + runtime.GOARCH
for _, env := range ops.Envs() {
// Only run checks relevant to the current GOOS/GOARCH,
// to avoid triggering a cross-compile of the runtime.
if string(env) != self && !strings.HasPrefix(string(env), self+"/") && !*allCodegen {
continue
}
// -S=2 forces outermost line numbers when disassembling inlined code.
cmdline := []string{"build", "-gcflags", "-S=2"}
cmdline = append(cmdline, flags...)
Expand Down

0 comments on commit 4f248e9

Please sign in to comment.