From 817316680fa888d702b410ff4ce6013652ca17f5 Mon Sep 17 00:00:00 2001 From: Zxilly <31370133+Zxilly@users.noreply.github.com> Date: Tue, 28 May 2024 00:04:54 +0800 Subject: [PATCH] fix: init empty result slice for SARIF printer (#4758) Co-authored-by: Fernandez Ludovic --- pkg/printers/sarif.go | 1 + pkg/printers/sarif_test.go | 14 ++++++++++++++ 2 files changed, 15 insertions(+) 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()) +}