Skip to content

Commit

Permalink
Raise an error when report is empty (#214)
Browse files Browse the repository at this point in the history
* Raise an error when report is empty

* Add test :)
  • Loading branch information
Ale Paredes committed Aug 22, 2017
1 parent b2a60e4 commit 31c4ebd
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 0 deletions.
4 changes: 4 additions & 0 deletions cmd/format-coverage.go
Expand Up @@ -105,6 +105,10 @@ func (f CoverageFormatter) Save() error {
return errors.WithStack(err)
}

if len(rep.SourceFiles) == 0 {
return errors.WithStack(errors.New("could not find coverage info for source files"))
}

if f.writer == nil {
f.writer, err = writer(formatOptions.Output)
if err != nil {
Expand Down
19 changes: 19 additions & 0 deletions cmd/format-coverage_test.go
@@ -0,0 +1,19 @@
package cmd

import (
"testing"

"github.com/codeclimate/test-reporter/formatters/clover"
"github.com/stretchr/testify/require"
)

func Test_CoverageFormatter_Save_Fail_On_Empty_Report(t *testing.T) {
r := require.New(t)
a := CoverageFormatter{}
a.In = &clover.Formatter{}
a.In.Search("../formatters/clover/empty_example.xml")

err := a.Save()
r.Error(err)
r.Equal("could not find coverage info for source files", err.Error())
}
6 changes: 6 additions & 0 deletions formatters/clover/empty_example.xml
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<coverage generated="1493754316">
<project timestamp="1493754316">
<metrics files="13" loc="937" ncloc="722" classes="12" methods="49" coveredmethods="37" conditionals="0" coveredconditionals="0" statements="306" coveredstatements="148" elements="355" coveredelements="185" />
</project>
</coverage>

0 comments on commit 31c4ebd

Please sign in to comment.