mirror of
https://github.com/golang/go
synced 2024-11-21 22:44:40 -07:00
remove tracking of cover profile size and raise error using base.Errorf and return
This commit is contained in:
parent
bf6ed10b91
commit
171ab52698
@ -19,8 +19,7 @@ import (
|
|||||||
// across multiple test runs and packages.
|
// across multiple test runs and packages.
|
||||||
var coverMerge struct {
|
var coverMerge struct {
|
||||||
f *os.File
|
f *os.File
|
||||||
fsize int64 // Tracks the size of valid data written to f
|
sync.Mutex // for f.Write
|
||||||
sync.Mutex // for f.Write
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// initCoverProfile initializes the test coverage profile.
|
// initCoverProfile initializes the test coverage profile.
|
||||||
@ -40,16 +39,15 @@ func initCoverProfile() {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
base.Fatalf("%v", err)
|
base.Fatalf("%v", err)
|
||||||
}
|
}
|
||||||
s, err := fmt.Fprintf(f, "mode: %s\n", cfg.BuildCoverMode)
|
_, err = fmt.Fprintf(f, "mode: %s\n", cfg.BuildCoverMode)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
base.Fatalf("%v", err)
|
base.Fatalf("%v", err)
|
||||||
}
|
}
|
||||||
coverMerge.f = f
|
coverMerge.f = f
|
||||||
coverMerge.fsize = int64(s)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// mergeCoverProfile merges file into the profile stored in testCoverProfile.
|
// mergeCoverProfile merges file into the profile stored in testCoverProfile.
|
||||||
// It prints any errors it encounters to ew.
|
// Errors encountered are logged and cause a non-zero exit status.
|
||||||
func mergeCoverProfile(file string) {
|
func mergeCoverProfile(file string) {
|
||||||
if coverMerge.f == nil {
|
if coverMerge.f == nil {
|
||||||
return
|
return
|
||||||
@ -71,25 +69,20 @@ func mergeCoverProfile(file string) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
if err != nil || string(buf) != expect {
|
if err != nil || string(buf) != expect {
|
||||||
base.Errorf("error: test wrote malformed coverage profile %s: header %q, expected %q: %v", file, string(buf), expect, err)
|
base.Errorf("test wrote malformed coverage profile %s: header %q, expected %q: %v", file, string(buf), expect, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
s, err := io.Copy(coverMerge.f, r)
|
_, err = io.Copy(coverMerge.f, r)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
base.Errorf("error: saving coverage profile: %v", err)
|
base.Errorf("saving coverage profile: %v", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
coverMerge.fsize += s
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func closeCoverProfile() {
|
func closeCoverProfile() {
|
||||||
if coverMerge.f == nil {
|
if coverMerge.f == nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// Discard any partially written data from a failed merge.
|
|
||||||
if err := coverMerge.f.Truncate(coverMerge.fsize); err != nil {
|
|
||||||
base.Errorf("closing coverage profile: %v", err)
|
|
||||||
}
|
|
||||||
if err := coverMerge.f.Close(); err != nil {
|
if err := coverMerge.f.Close(); err != nil {
|
||||||
base.Errorf("closing coverage profile: %v", err)
|
base.Errorf("closing coverage profile: %v", err)
|
||||||
}
|
}
|
||||||
|
@ -2058,11 +2058,12 @@ func (c *runCache) saveOutput(a *work.Action, coverProfileFile string) {
|
|||||||
}
|
}
|
||||||
defer func() {
|
defer func() {
|
||||||
if err := coverProfile.Close(); err != nil && cache.DebugTest {
|
if err := coverProfile.Close(); err != nil && cache.DebugTest {
|
||||||
fmt.Fprintf(os.Stderr, "testcache: %s: closing temporary coverprofile: %v", a.Package.ImportPath, err)
|
base.Errorf("closing temporary coverprofile: %v", err)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
} else if cache.DebugTest {
|
} else if cache.DebugTest {
|
||||||
fmt.Fprintf(os.Stderr, "testcache: %s: failed to open temporary coverprofile: %s", a.Package.ImportPath, err)
|
base.Errorf("failed to open temporary coverprofile: %s", err)
|
||||||
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if c.id1 != (cache.ActionID{}) {
|
if c.id1 != (cache.ActionID{}) {
|
||||||
|
Loading…
Reference in New Issue
Block a user