From 63e74bb0dda9ad3cbc9e3c107c5676cfbf91bd53 Mon Sep 17 00:00:00 2001 From: Denis Date: Sun, 23 Oct 2022 16:40:41 +0600 Subject: [PATCH 1/5] use first issue without inline on mergeLineIssues on multiplie issues --- pkg/result/processors/fixer.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/result/processors/fixer.go b/pkg/result/processors/fixer.go index a79a846288ee..197f698651aa 100644 --- a/pkg/result/processors/fixer.go +++ b/pkg/result/processors/fixer.go @@ -142,7 +142,7 @@ func (f Fixer) mergeLineIssues(lineNum int, lineIssues []result.Issue, origFileL r := i.Replacement if r.Inline == nil || len(r.NewLines) != 0 || r.NeedOnlyDelete { f.log.Infof("Line %d has multiple issues but at least one of them isn't inline: %#v", lineNum, lineIssues) - return &lineIssues[0] + return i } if r.Inline.StartCol < 0 || r.Inline.Length <= 0 || r.Inline.StartCol+r.Inline.Length > len(origLine) { From d9d85cb110b051cb85c5f97a2f01192b77fa4207 Mon Sep 17 00:00:00 2001 From: Denis Date: Sun, 30 Oct 2022 17:22:04 +0600 Subject: [PATCH 2/5] add tests --- test/testdata/configs/gocritic-gofumpt-fix.yml | 6 ++++++ test/testdata/fix/in/gocritic_gofumpt.go | 11 +++++++++++ test/testdata/fix/out/gocritic_gofumpt.go | 11 +++++++++++ 3 files changed, 28 insertions(+) create mode 100644 test/testdata/configs/gocritic-gofumpt-fix.yml create mode 100644 test/testdata/fix/in/gocritic_gofumpt.go create mode 100644 test/testdata/fix/out/gocritic_gofumpt.go diff --git a/test/testdata/configs/gocritic-gofumpt-fix.yml b/test/testdata/configs/gocritic-gofumpt-fix.yml new file mode 100644 index 000000000000..35cf43095827 --- /dev/null +++ b/test/testdata/configs/gocritic-gofumpt-fix.yml @@ -0,0 +1,6 @@ +linters-settings: + gofumpt: + extra-rules: true + gocritic: + enabled-checks: + - commentedOutCode diff --git a/test/testdata/fix/in/gocritic_gofumpt.go b/test/testdata/fix/in/gocritic_gofumpt.go new file mode 100644 index 000000000000..1d949bc5da39 --- /dev/null +++ b/test/testdata/fix/in/gocritic_gofumpt.go @@ -0,0 +1,11 @@ +//golangcitest:args -Egocritic,gofumpt +//golangcitest:config_path testdata/configs/gocritic-gofumpt-fix.yml +//golangcitest:expected_exitcode 0 +package p + +import "fmt" + +func main() { + //standard greeting + fmt.Println("hello world") +} diff --git a/test/testdata/fix/out/gocritic_gofumpt.go b/test/testdata/fix/out/gocritic_gofumpt.go new file mode 100644 index 000000000000..627748ee88ed --- /dev/null +++ b/test/testdata/fix/out/gocritic_gofumpt.go @@ -0,0 +1,11 @@ +//golangcitest:args -Egocritic,gofumpt +//golangcitest:config_path testdata/configs/gocritic-gofumpt-fix.yml +//golangcitest:expected_exitcode 0 +package p + +import "fmt" + +func main() { + // standard greeting + fmt.Println("hello world") +} From 0fa95de365940bf1bde57b7e645ee90cf98954c4 Mon Sep 17 00:00:00 2001 From: Denis Date: Sun, 30 Oct 2022 17:33:52 +0600 Subject: [PATCH 3/5] change check for gocritic in test --- test/testdata/configs/gocritic-gofumpt-fix.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/testdata/configs/gocritic-gofumpt-fix.yml b/test/testdata/configs/gocritic-gofumpt-fix.yml index 35cf43095827..cafe172ed1e7 100644 --- a/test/testdata/configs/gocritic-gofumpt-fix.yml +++ b/test/testdata/configs/gocritic-gofumpt-fix.yml @@ -3,4 +3,4 @@ linters-settings: extra-rules: true gocritic: enabled-checks: - - commentedOutCode + - commentFormatting From 13b69547a31e372dcacb13b4d53848d39250adc4 Mon Sep 17 00:00:00 2001 From: Fernandez Ludovic Date: Thu, 7 Mar 2024 19:48:58 +0100 Subject: [PATCH 4/5] review --- pkg/result/processors/fixer.go | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/pkg/result/processors/fixer.go b/pkg/result/processors/fixer.go index 197f698651aa..5c6d12ac0f74 100644 --- a/pkg/result/processors/fixer.go +++ b/pkg/result/processors/fixer.go @@ -133,20 +133,22 @@ func (f Fixer) mergeLineIssues(lineNum int, lineIssues []result.Issue, origFileL // check issues first for ind := range lineIssues { - i := &lineIssues[ind] - if i.LineRange != nil { + li := &lineIssues[ind] + + if li.LineRange != nil { f.log.Infof("Line %d has multiple issues but at least one of them is ranged: %#v", lineNum, lineIssues) return &lineIssues[0] } - r := i.Replacement - if r.Inline == nil || len(r.NewLines) != 0 || r.NeedOnlyDelete { + inline := li.Replacement.Inline + + if inline == nil || len(li.Replacement.NewLines) != 0 || li.Replacement.NeedOnlyDelete { f.log.Infof("Line %d has multiple issues but at least one of them isn't inline: %#v", lineNum, lineIssues) - return i + return li } - if r.Inline.StartCol < 0 || r.Inline.Length <= 0 || r.Inline.StartCol+r.Inline.Length > len(origLine) { - f.log.Warnf("Line %d (%q) has invalid inline fix: %#v, %#v", lineNum, origLine, i, r.Inline) + if inline.StartCol < 0 || inline.Length <= 0 || inline.StartCol+inline.Length > len(origLine) { + f.log.Warnf("Line %d (%q) has invalid inline fix: %#v, %#v", lineNum, origLine, li, inline) return nil } } From d587ef44d1ad417c505d1ee7b75885ff01a99b1e Mon Sep 17 00:00:00 2001 From: Fernandez Ludovic Date: Thu, 7 Mar 2024 20:01:35 +0100 Subject: [PATCH 5/5] review: rename test files --- test/testdata/configs/gocritic-gofumpt-fix.yml | 6 ------ test/testdata/configs/multiple-issues-fix.yml | 4 ++++ .../fix/in/{gocritic_gofumpt.go => multiple-issues-fix.go} | 2 +- .../fix/out/{gocritic_gofumpt.go => multiple-issues-fix.go} | 2 +- 4 files changed, 6 insertions(+), 8 deletions(-) delete mode 100644 test/testdata/configs/gocritic-gofumpt-fix.yml create mode 100644 test/testdata/configs/multiple-issues-fix.yml rename test/testdata/fix/in/{gocritic_gofumpt.go => multiple-issues-fix.go} (70%) rename test/testdata/fix/out/{gocritic_gofumpt.go => multiple-issues-fix.go} (70%) diff --git a/test/testdata/configs/gocritic-gofumpt-fix.yml b/test/testdata/configs/gocritic-gofumpt-fix.yml deleted file mode 100644 index cafe172ed1e7..000000000000 --- a/test/testdata/configs/gocritic-gofumpt-fix.yml +++ /dev/null @@ -1,6 +0,0 @@ -linters-settings: - gofumpt: - extra-rules: true - gocritic: - enabled-checks: - - commentFormatting diff --git a/test/testdata/configs/multiple-issues-fix.yml b/test/testdata/configs/multiple-issues-fix.yml new file mode 100644 index 000000000000..451973c5a144 --- /dev/null +++ b/test/testdata/configs/multiple-issues-fix.yml @@ -0,0 +1,4 @@ +linters-settings: + gofumpt: + extra-rules: true + diff --git a/test/testdata/fix/in/gocritic_gofumpt.go b/test/testdata/fix/in/multiple-issues-fix.go similarity index 70% rename from test/testdata/fix/in/gocritic_gofumpt.go rename to test/testdata/fix/in/multiple-issues-fix.go index 1d949bc5da39..af56df5227c0 100644 --- a/test/testdata/fix/in/gocritic_gofumpt.go +++ b/test/testdata/fix/in/multiple-issues-fix.go @@ -1,5 +1,5 @@ //golangcitest:args -Egocritic,gofumpt -//golangcitest:config_path testdata/configs/gocritic-gofumpt-fix.yml +//golangcitest:config_path testdata/configs/multiple-issues-fix.yml //golangcitest:expected_exitcode 0 package p diff --git a/test/testdata/fix/out/gocritic_gofumpt.go b/test/testdata/fix/out/multiple-issues-fix.go similarity index 70% rename from test/testdata/fix/out/gocritic_gofumpt.go rename to test/testdata/fix/out/multiple-issues-fix.go index 627748ee88ed..524fb94140e8 100644 --- a/test/testdata/fix/out/gocritic_gofumpt.go +++ b/test/testdata/fix/out/multiple-issues-fix.go @@ -1,5 +1,5 @@ //golangcitest:args -Egocritic,gofumpt -//golangcitest:config_path testdata/configs/gocritic-gofumpt-fix.yml +//golangcitest:config_path testdata/configs/multiple-issues-fix.yml //golangcitest:expected_exitcode 0 package p