Skip to content

Commit 5a52843

Browse files
committed
review
1 parent c82ebc2 commit 5a52843

File tree

3 files changed

+13
-17
lines changed

3 files changed

+13
-17
lines changed

pkg/printers/codeclimate.go

+6-15
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,7 @@ import (
77
"github.com/golangci/golangci-lint/pkg/result"
88
)
99

10-
const (
11-
defaultCheckName = "golangci-lint"
12-
defaultCodeClimateSeverity = "critical"
13-
)
10+
const defaultCodeClimateSeverity = "critical"
1411

1512
// CodeClimateIssue is a subset of the Code Climate spec.
1613
// https://github.com/codeclimate/platform/blob/master/spec/analyzers/SPEC.md#data-types
@@ -39,30 +36,24 @@ func NewCodeClimate(w io.Writer) *CodeClimate {
3936

4037
func (p CodeClimate) Print(issues []result.Issue) error {
4138
codeClimateIssues := make([]CodeClimateIssue, 0, len(issues))
39+
4240
for i := range issues {
4341
issue := &issues[i]
42+
4443
codeClimateIssue := CodeClimateIssue{}
45-
codeClimateIssue.Description = issue.Text
46-
codeClimateIssue.CheckName = defaultCheckName
44+
codeClimateIssue.Description = issue.Description()
45+
codeClimateIssue.CheckName = issue.FromLinter
4746
codeClimateIssue.Location.Path = issue.Pos.Filename
4847
codeClimateIssue.Location.Lines.Begin = issue.Pos.Line
4948
codeClimateIssue.Fingerprint = issue.Fingerprint()
5049
codeClimateIssue.Severity = defaultCodeClimateSeverity
5150

52-
if issue.FromLinter != "" {
53-
codeClimateIssue.CheckName = issue.FromLinter
54-
}
55-
5651
if issue.Severity != "" {
5752
codeClimateIssue.Severity = issue.Severity
5853
}
5954

6055
codeClimateIssues = append(codeClimateIssues, codeClimateIssue)
6156
}
6257

63-
err := json.NewEncoder(p.w).Encode(codeClimateIssues)
64-
if err != nil {
65-
return err
66-
}
67-
return nil
58+
return json.NewEncoder(p.w).Encode(codeClimateIssues)
6859
}

pkg/printers/codeclimate_test.go

+3-2
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@ func TestCodeClimate_Print(t *testing.T) {
4141
},
4242
},
4343
{
44-
Text: "issue c",
44+
FromLinter: "linter-c",
45+
Text: "issue c",
4546
SourceLines: []string{
4647
"func foo() {",
4748
"\tfmt.Println(\"ccc\")",
@@ -62,7 +63,7 @@ func TestCodeClimate_Print(t *testing.T) {
6263
err := printer.Print(issues)
6364
require.NoError(t, err)
6465

65-
expected := `[{"description":"some issue","check_name":"linter-a","severity":"warning","fingerprint":"BA73C5DF4A6FD8462FFF1D3140235777","location":{"path":"path/to/filea.go","lines":{"begin":10}}},{"description":"another issue","check_name":"linter-b","severity":"error","fingerprint":"0777B4FE60242BD8B2E9B7E92C4B9521","location":{"path":"path/to/fileb.go","lines":{"begin":300}}},{"description":"issue c","check_name":"golangci-lint","severity":"critical","fingerprint":"BEE6E9FBB6BFA4B7DB9FB036697FB036","location":{"path":"path/to/filec.go","lines":{"begin":200}}}]
66+
expected := `[{"description":"linter-a: some issue","check_name":"linter-a","severity":"warning","fingerprint":"BA73C5DF4A6FD8462FFF1D3140235777","location":{"path":"path/to/filea.go","lines":{"begin":10}}},{"description":"linter-b: another issue","check_name":"linter-b","severity":"error","fingerprint":"0777B4FE60242BD8B2E9B7E92C4B9521","location":{"path":"path/to/fileb.go","lines":{"begin":300}}},{"description":"linter-c: issue c","check_name":"linter-c","severity":"critical","fingerprint":"BEE6E9FBB6BFA4B7DB9FB036697FB036","location":{"path":"path/to/filec.go","lines":{"begin":200}}}]
6667
`
6768

6869
assert.Equal(t, expected, buf.String())

pkg/result/issue.go

+4
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,10 @@ func (i *Issue) GetLineRange() Range {
8181
return *i.LineRange
8282
}
8383

84+
func (i *Issue) Description() string {
85+
return fmt.Sprintf("%s: %s", i.FromLinter, i.Text)
86+
}
87+
8488
func (i *Issue) Fingerprint() string {
8589
firstLine := ""
8690
if len(i.SourceLines) > 0 {

0 commit comments

Comments
 (0)