diff --git a/go.mod b/go.mod index 0ab984622f40..38b45eb8b117 100644 --- a/go.mod +++ b/go.mod @@ -92,7 +92,7 @@ require ( github.com/sanposhiho/wastedassign/v2 v2.1.0 github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 github.com/sashamelentyev/interfacebloat v1.1.0 - github.com/sashamelentyev/usestdlibvars v1.27.0 + github.com/sashamelentyev/usestdlibvars v1.28.0 github.com/securego/gosec/v2 v2.21.4 github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c github.com/shirou/gopsutil/v4 v4.24.11 diff --git a/go.sum b/go.sum index 73f56a7ec2fc..35efcb297ecb 100644 --- a/go.sum +++ b/go.sum @@ -490,8 +490,8 @@ github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 h1:PKK9DyHxif4LZo+uQSgXNqs0jj5+x github.com/santhosh-tekuri/jsonschema/v6 v6.0.1/go.mod h1:JXeL+ps8p7/KNMjDQk3TCwPpBy0wYklyWTfbkIzdIFU= github.com/sashamelentyev/interfacebloat v1.1.0 h1:xdRdJp0irL086OyW1H/RTZTr1h/tMEOsumirXcOJqAw= github.com/sashamelentyev/interfacebloat v1.1.0/go.mod h1:+Y9yU5YdTkrNvoX0xHc84dxiN1iBi9+G8zZIhPVoNjQ= -github.com/sashamelentyev/usestdlibvars v1.27.0 h1:t/3jZpSXtRPRf2xr0m63i32ZrusyurIGT9E5wAvXQnI= -github.com/sashamelentyev/usestdlibvars v1.27.0/go.mod h1:9nl0jgOfHKWNFS43Ojw0i7aRoS4j6EBye3YBhmAIRF8= +github.com/sashamelentyev/usestdlibvars v1.28.0 h1:jZnudE2zKCtYlGzLVreNp5pmCdOxXUzwsMDBkR21cyQ= +github.com/sashamelentyev/usestdlibvars v1.28.0/go.mod h1:9nl0jgOfHKWNFS43Ojw0i7aRoS4j6EBye3YBhmAIRF8= github.com/securego/gosec/v2 v2.21.4 h1:Le8MSj0PDmOnHJgUATjD96PaXRvCpKC+DGJvwyy0Mlk= github.com/securego/gosec/v2 v2.21.4/go.mod h1:Jtb/MwRQfRxCXyCm1rfM1BEiiiTfUOdyzzAhlr6lUTA= github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c h1:W65qqJCIOVP4jpqPQ0YvHYKwcMEMVWIzWC5iNQQfBTU= diff --git a/pkg/golinters/usestdlibvars/testdata/fix/in/usestdlibvars.go b/pkg/golinters/usestdlibvars/testdata/fix/in/usestdlibvars.go new file mode 100644 index 000000000000..be0ea4f1382d --- /dev/null +++ b/pkg/golinters/usestdlibvars/testdata/fix/in/usestdlibvars.go @@ -0,0 +1,14 @@ +//golangcitest:args -Eusestdlibvars +//golangcitest:expected_exitcode 0 +package testdata + +import "net/http" + +func _200() { + _ = 200 +} + +func _200_1() { + var w http.ResponseWriter + w.WriteHeader(200) // want `"200" can be replaced by http.StatusOK` +} diff --git a/pkg/golinters/usestdlibvars/testdata/fix/out/usestdlibvars.go b/pkg/golinters/usestdlibvars/testdata/fix/out/usestdlibvars.go new file mode 100644 index 000000000000..e7495ff48bcd --- /dev/null +++ b/pkg/golinters/usestdlibvars/testdata/fix/out/usestdlibvars.go @@ -0,0 +1,14 @@ +//golangcitest:args -Eusestdlibvars +//golangcitest:expected_exitcode 0 +package testdata + +import "net/http" + +func _200() { + _ = 200 +} + +func _200_1() { + var w http.ResponseWriter + w.WriteHeader(http.StatusOK) // want `"200" can be replaced by http.StatusOK` +} diff --git a/pkg/golinters/usestdlibvars/usestdlibvars_integration_test.go b/pkg/golinters/usestdlibvars/usestdlibvars_integration_test.go index 81d589047a1d..26331c324fbd 100644 --- a/pkg/golinters/usestdlibvars/usestdlibvars_integration_test.go +++ b/pkg/golinters/usestdlibvars/usestdlibvars_integration_test.go @@ -9,3 +9,11 @@ import ( func TestFromTestdata(t *testing.T) { integration.RunTestdata(t) } + +func TestFix(t *testing.T) { + integration.RunFix(t) +} + +func TestFixPathPrefix(t *testing.T) { + integration.RunFixPathPrefix(t) +} diff --git a/pkg/lint/lintersdb/builder_linter.go b/pkg/lint/lintersdb/builder_linter.go index 2094fdbacaba..8f149117fb75 100644 --- a/pkg/lint/lintersdb/builder_linter.go +++ b/pkg/lint/lintersdb/builder_linter.go @@ -821,6 +821,7 @@ func (LinterBuilder) Build(cfg *config.Config) ([]*linter.Config, error) { linter.NewConfig(usestdlibvars.New(&cfg.LintersSettings.UseStdlibVars)). WithSince("v1.48.0"). WithPresets(linter.PresetStyle). + WithAutoFix(). WithURL("https://github.com/sashamelentyev/usestdlibvars"), linter.NewConfig(usetesting.New(&cfg.LintersSettings.UseTesting)).