1
0
mirror of https://github.com/golang/go synced 2024-11-11 21:10:21 -07:00

test: avoid touching GOOS/GOARCH in codegen driver

This change modifies the codegen test harness driver so that it no
longer modifies the environment GOOS/GOARCH, since that seems to cause
flakiness in other concurrently-running tests.

The change also enables the codegen tests in run.go.

Fixes #24538

Change-Id: I997ac1eb38eb92054efff67fe5c4d3cccc86412b
Reviewed-on: https://go-review.googlesource.com/103455
Run-TryBot: Alberto Donizetti <alb.donizetti@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
This commit is contained in:
Alberto Donizetti 2018-03-29 18:52:12 +02:00
parent 014a9048d4
commit aacf7a1846

View File

@ -52,7 +52,7 @@ var (
// dirs are the directories to look for *.go files in.
// TODO(bradfitz): just use all directories?
dirs = []string{".", "ken", "chan", "interface", "syntax", "dwarf", "fixedbugs"}
dirs = []string{".", "ken", "chan", "interface", "syntax", "dwarf", "fixedbugs", "codegen"}
// ratec controls the max number of tests running at a time.
ratec chan bool
@ -612,18 +612,20 @@ func (t *test) run() {
case "asmcheck":
ops, archs := t.wantedAsmOpcodes(long)
for _, arch := range archs {
os.Setenv("GOOS", "linux")
os.Setenv("GOARCH", arch)
cmdline := []string{goTool(), "build", "-gcflags", "-S"}
cmdline := []string{"build", "-gcflags", "-S"}
cmdline = append(cmdline, flags...)
cmdline = append(cmdline, long)
out, err := runcmd(cmdline...)
if err != nil {
cmd := exec.Command(goTool(), cmdline...)
cmd.Env = append(os.Environ(), "GOOS=linux", "GOARCH="+arch)
var buf bytes.Buffer
cmd.Stdout, cmd.Stderr = &buf, &buf
if err := cmd.Run(); err != nil {
t.err = err
return
}
t.err = t.asmCheck(string(out), long, arch, ops[arch])
t.err = t.asmCheck(buf.String(), long, arch, ops[arch])
if t.err != nil {
return
}