Skip to content

Commit be469a4

Browse files
Wani4kaldez
andauthored
code-climate: add check_name field (golangci#5086)
Co-authored-by: Fernandez Ludovic <[email protected]>
1 parent 0ce421f commit be469a4

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

pkg/printers/codeclimate.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,10 @@ const defaultCodeClimateSeverity = "critical"
1212
// CodeClimateIssue is a subset of the Code Climate spec.
1313
// https://github.com/codeclimate/platform/blob/master/spec/analyzers/SPEC.md#data-types
1414
// It is just enough to support GitLab CI Code Quality.
15-
// https://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html
15+
// https://docs.gitlab.com/ee/ci/testing/code_quality.html#implement-a-custom-tool
1616
type CodeClimateIssue struct {
1717
Description string `json:"description"`
18+
CheckName string `json:"check_name"`
1819
Severity string `json:"severity,omitempty"`
1920
Fingerprint string `json:"fingerprint"`
2021
Location struct {
@@ -35,10 +36,13 @@ func NewCodeClimate(w io.Writer) *CodeClimate {
3536

3637
func (p CodeClimate) Print(issues []result.Issue) error {
3738
codeClimateIssues := make([]CodeClimateIssue, 0, len(issues))
39+
3840
for i := range issues {
3941
issue := &issues[i]
42+
4043
codeClimateIssue := CodeClimateIssue{}
4144
codeClimateIssue.Description = issue.Description()
45+
codeClimateIssue.CheckName = issue.FromLinter
4246
codeClimateIssue.Location.Path = issue.Pos.Filename
4347
codeClimateIssue.Location.Lines.Begin = issue.Pos.Line
4448
codeClimateIssue.Fingerprint = issue.Fingerprint()
@@ -51,9 +55,5 @@ func (p CodeClimate) Print(issues []result.Issue) error {
5155
codeClimateIssues = append(codeClimateIssues, codeClimateIssue)
5256
}
5357

54-
err := json.NewEncoder(p.w).Encode(codeClimateIssues)
55-
if err != nil {
56-
return err
57-
}
58-
return nil
58+
return json.NewEncoder(p.w).Encode(codeClimateIssues)
5959
}

pkg/printers/codeclimate_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ func TestCodeClimate_Print(t *testing.T) {
6363
err := printer.Print(issues)
6464
require.NoError(t, err)
6565

66-
expected := `[{"description":"linter-a: some issue","severity":"warning","fingerprint":"BA73C5DF4A6FD8462FFF1D3140235777","location":{"path":"path/to/filea.go","lines":{"begin":10}}},{"description":"linter-b: another issue","severity":"error","fingerprint":"0777B4FE60242BD8B2E9B7E92C4B9521","location":{"path":"path/to/fileb.go","lines":{"begin":300}}},{"description":"linter-c: issue c","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}}}]
6767
`
6868

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

0 commit comments

Comments
 (0)