diff --git a/cmd/root.go b/cmd/root.go index 4cd05ff3..2adff188 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -270,6 +270,7 @@ var rootCmd = &cobra.Command{ if err := c.BuildReportConfig(); err != nil { return err } + r.Coverage.FlushBlockCoverages() datastores := []datastore.Datastore{} for _, s := range c.Report.Datastores { d, err := datastore.New(ctx, s, c.Root()) diff --git a/pkg/coverage/coverage.go b/pkg/coverage/coverage.go index 100916af..bb27970b 100644 --- a/pkg/coverage/coverage.go +++ b/pkg/coverage/coverage.go @@ -24,7 +24,7 @@ type FileCoverage struct { File string `json:"file"` Total int `json:"total"` Covered int `json:"covered"` - Blocks BlockCoverages `json:"blocks"` + Blocks BlockCoverages `json:"blocks,omitempty"` cache map[int]BlockCoverages } @@ -63,6 +63,12 @@ func NewFileCoverage(file string) *FileCoverage { } } +func (c *Coverage) FlushBlockCoverages() { + for _, f := range c.Files { + f.Blocks = BlockCoverages{} + } +} + func (coverages FileCoverages) FindByFile(file string) (*FileCoverage, error) { for _, c := range coverages { if c.File == file { diff --git a/report/report_test.go b/report/report_test.go index 1261be0d..7979d4a5 100644 --- a/report/report_test.go +++ b/report/report_test.go @@ -37,6 +37,9 @@ func TestTable(t *testing.T) { if got := r.Table(); got != tt.want { t.Errorf("got\n%v\nwant\n%v", got, tt.want) } + _ = r.String() + r.Coverage.FlushBlockCoverages() + _ = r.String() } }