diff --git a/pkg/printers/sarif.go b/pkg/printers/sarif.go index 378ee008aed8..132e74947c93 100644 --- a/pkg/printers/sarif.go +++ b/pkg/printers/sarif.go @@ -70,6 +70,7 @@ func NewSarif(w io.Writer) *Sarif { func (p Sarif) Print(issues []result.Issue) error { run := sarifRun{} run.Tool.Driver.Name = "golangci-lint" + run.Results = make([]sarifResult, 0) for i := range issues { issue := issues[i] diff --git a/pkg/printers/sarif_test.go b/pkg/printers/sarif_test.go index 7ebda1210f2a..c3595826c42a 100644 --- a/pkg/printers/sarif_test.go +++ b/pkg/printers/sarif_test.go @@ -65,3 +65,17 @@ func TestSarif_Print(t *testing.T) { assert.Equal(t, expected, buf.String()) } + +func TestSarif_Print_empty(t *testing.T) { + buf := new(bytes.Buffer) + + printer := NewSarif(buf) + + err := printer.Print(nil) + require.NoError(t, err) + + expected := `{"version":"2.1.0","$schema":"https://schemastore.azurewebsites.net/schemas/json/sarif-2.1.0-rtm.6.json","runs":[{"tool":{"driver":{"name":"golangci-lint"}},"results":[]}]} +` + + assert.Equal(t, expected, buf.String()) +}