func main() { log.SetPrefix("vet/all: ") log.SetFlags(0) var err error cmdGoPath, err = testenv.GoTool() if err != nil { log.Print("could not find cmd/go; skipping") // We're on a platform that can't run cmd/go. // We want this script to be able to run as part of all.bash, // so return cleanly rather than with exit code 1. return } flag.Parse() switch { case *flagAll && *flagPlatforms != "": log.Print("-all and -p flags are incompatible") flag.Usage() os.Exit(2) case *flagPlatforms != "": vetPlatforms(parseFlagPlatforms()) case *flagAll: vetPlatforms(allPlatforms()) default: host := platform{os: build.Default.GOOS, arch: build.Default.GOARCH} host.vet(runtime.GOMAXPROCS(-1)) } }
func buildObjdump() error { var err error tmp, err = ioutil.TempDir("", "TestObjDump") if err != nil { return fmt.Errorf("TempDir failed: %v", err) } exe = filepath.Join(tmp, "testobjdump.exe") gotool, err := testenv.GoTool() if err != nil { return err } out, err := exec.Command(gotool, "build", "-o", exe, "cmd/objdump").CombinedOutput() if err != nil { os.RemoveAll(tmp) return fmt.Errorf("go build -o %v cmd/objdump: %v\n%s", exe, err, string(out)) } return nil }