]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: use -o option of cover tool
authorRob Pike <r@golang.org>
Wed, 12 Jun 2013 03:47:35 +0000 (20:47 -0700)
committerRob Pike <r@golang.org>
Wed, 12 Jun 2013 03:47:35 +0000 (20:47 -0700)
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

src/cmd/go/build.go

index 3a6577d1ee93edfd4f8b3e3e8978250ed7444100..e8f390483c8dd1366a5864ad02a775ed99b1aa3e 100644 (file)
@@ -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{