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:
parent
014a9048d4
commit
aacf7a1846
18
test/run.go
18
test/run.go
@ -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
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user