diff --git a/src/cmd/dist/test.go b/src/cmd/dist/test.go index ee197025129..486412afbb8 100644 --- a/src/cmd/dist/test.go +++ b/src/cmd/dist/test.go @@ -350,7 +350,8 @@ func (t *tester) extLink() bool { "freebsd-386", "freebsd-amd64", "freebsd-arm", "linux-386", "linux-amd64", "linux-arm", "netbsd-386", "netbsd-amd64", - "openbsd-386", "openbsd-amd64": + "openbsd-386", "openbsd-amd64", + "windows-386": return true case "darwin-386", "darwin-amd64": // linkmode=external fails on OS X 10.6 and earlier == Darwin @@ -369,7 +370,10 @@ func (t *tester) cgoTest() error { env := mergeEnvLists([]string{"GOTRACEBACK=2"}, os.Environ()) iOS := t.goos == "darwin" && (t.goarch == "arm" || t.goarch == "arm64") - if t.gohostos == "windows" || t.goos == "android" || iOS { + switch { + case t.goos == "windows" && t.goarch != "386": + fallthrough + case t.goos == "android", iOS: cmd := t.dirCmd("misc/cgo/test", "go", "test") cmd.Env = env return cmd.Run() @@ -393,7 +397,8 @@ func (t *tester) cgoTest() error { if err := cmd.Run(); err != nil { return err } - case "darwin-386", "darwin-amd64": + case "darwin-386", "darwin-amd64", + "windows-386": if t.extLink() { cmd := t.dirCmd("misc/cgo/test", "go", "test", "-ldflags", "-linkmode=external") cmd.Env = env