From: Rob Pike Date: Fri, 8 Apr 2011 16:50:20 +0000 (-0700) Subject: gotest: Fix fix for \r\n on windows. X-Git-Tag: weekly.2011-04-13~56 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=ddd0fa17446aa510dd48df7fd07ccce9a9b156d0;p=gostls13.git gotest: Fix fix for \r\n on windows. R=rsc, brainman, rh, r2 CC=golang-dev https://golang.org/cl/4366045 --- diff --git a/src/cmd/gotest/gotest.go b/src/cmd/gotest/gotest.go index 2455aa88f4..138216e681 100644 --- a/src/cmd/gotest/gotest.go +++ b/src/cmd/gotest/gotest.go @@ -234,14 +234,13 @@ func run(args ...string) { // runWithStdout is like run, but returns the text of standard output with the last newline dropped. func runWithStdout(argv ...string) string { s := doRun(argv, true) - if len(s) == 0 { - Fatalf("no output from command %s", strings.Join(argv, " ")) - } - if s[len(s)-1] == '\n' { + if strings.HasSuffix(s, "\r\n") { + s = s[:len(s)-2] + } else if strings.HasSuffix(s, "\n") { s = s[:len(s)-1] } - if len(s) > 0 && s[len(s)-1] == '\r' { // it is \r\n on Windows. - s = s[:len(s)-1] + if len(s) == 0 { + Fatalf("no output from command %s", strings.Join(argv, " ")) } return s }