From: Rob Pike Date: Wed, 12 Jun 2013 03:47:35 +0000 (-0700) Subject: cmd/go: use -o option of cover tool X-Git-Tag: go1.2rc2~1269 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=bc7e26621e12796ca9284e3fc3b4d91761c221c6;p=gostls13.git cmd/go: use -o option of cover tool Separates correct from erroneous output so errors running the tool will appear in the log. R=rsc CC=golang-dev https://golang.org/cl/10191043 --- diff --git a/src/cmd/go/build.go b/src/cmd/go/build.go index 3a6577d1ee..e8f390483c 100644 --- a/src/cmd/go/build.go +++ b/src/cmd/go/build.go @@ -1110,14 +1110,15 @@ func (b *builder) copyFile(a *action, dst, src string, perm os.FileMode) error { } // cover runs, in effect, -// go tool cover -mode=b.coverMode -count="count" -pos="pos" src.go >dst.go +// go tool cover -mode=b.coverMode -count="count" -pos="pos" -o dst.go src.go func (b *builder) cover(a *action, dst, src string, perm os.FileMode, count, pos string) error { - out, err := b.runOut(a.objdir, "cover "+a.p.ImportPath, nil, tool("cover"), "-mode="+a.p.coverMode, "-count="+count, "-pos="+pos, src) - if err != nil { - return err - } - // Output is processed source code. Write it to destination. - return ioutil.WriteFile(dst, out, perm) + return b.run(a.objdir, "cover "+a.p.ImportPath, nil, + tool("cover"), + "-mode", a.p.coverMode, + "-count", count, + "-pos", pos, + "-o", dst, + src) } var objectMagic = [][]byte{