diff --git a/test/fix_test.go b/test/fix_test.go index 644a7d0bd426..3d1144d5e6d7 100644 --- a/test/fix_test.go +++ b/test/fix_test.go @@ -9,6 +9,7 @@ import ( "github.com/stretchr/testify/require" "gopkg.in/yaml.v3" + "github.com/golangci/golangci-lint/pkg/exitcodes" "github.com/golangci/golangci-lint/test/testshared" ) @@ -52,7 +53,19 @@ func TestFix(t *testing.T) { cfg, err := yaml.Marshal(rc.config) require.NoError(t, err) - testshared.NewLintRunner(t).RunWithYamlConfig(string(cfg), args...) + var runResult *testshared.RunResult + if rc.configPath != "" { + args = append(args, "-c", rc.configPath) + runResult = testshared.NewLintRunner(t).RunCommand("run", args...) + } else { + runResult = testshared.NewLintRunner(t).RunWithYamlConfig(string(cfg), args...) + } + + // nolintlint test uses non existing linters (bob, alice) + if rc.expectedLinter != "nolintlint" { + runResult.ExpectExitCode(exitcodes.Success) + } + output, err := os.ReadFile(input) require.NoError(t, err) diff --git a/test/testdata/configs/gocritic-fix.yml b/test/testdata/configs/gocritic-fix.yml new file mode 100644 index 000000000000..5ea41749a5de --- /dev/null +++ b/test/testdata/configs/gocritic-fix.yml @@ -0,0 +1,8 @@ +linters-settings: + gocritic: + enabled-checks: + - ruleguard + settings: + ruleguard: + rules: 'ruleguard/rangeExprCopy.go,ruleguard/strings_simplify.go' + diff --git a/test/testdata/fix/in/gocritic.go b/test/testdata/fix/in/gocritic.go index 4191eea1319a..80a42b5812f6 100644 --- a/test/testdata/fix/in/gocritic.go +++ b/test/testdata/fix/in/gocritic.go @@ -1,6 +1,5 @@ -//args: -Egocritic -//config: linters-settings.gocritic.enabled-checks=ruleguard -//config: linters-settings.gocritic.settings.ruleguard.rules=ruleguard/rangeExprCopy.go,ruleguard/strings_simplify.go +// args: -Egocritic +// config_path: testdata/configs/gocritic-fix.yml package p import ( diff --git a/test/testdata/fix/in/unused.go b/test/testdata/fix/in/unused.go deleted file mode 100644 index fa8979c2a53c..000000000000 --- a/test/testdata/fix/in/unused.go +++ /dev/null @@ -1,8 +0,0 @@ -//args: -Eunused -package p - -type ( - unused struct{} -) - -func X() {} diff --git a/test/testdata/fix/out/gocritic.go b/test/testdata/fix/out/gocritic.go index 2c66ef21b9f5..a4fa277d7d28 100644 --- a/test/testdata/fix/out/gocritic.go +++ b/test/testdata/fix/out/gocritic.go @@ -1,6 +1,5 @@ -//args: -Egocritic -//config: linters-settings.gocritic.enabled-checks=ruleguard -//config: linters-settings.gocritic.settings.ruleguard.rules=ruleguard/rangeExprCopy.go,ruleguard/strings_simplify.go +// args: -Egocritic +// config_path: testdata/configs/gocritic-fix.yml package p import ( diff --git a/test/testdata/fix/out/unused.go b/test/testdata/fix/out/unused.go deleted file mode 100644 index fa8979c2a53c..000000000000 --- a/test/testdata/fix/out/unused.go +++ /dev/null @@ -1,8 +0,0 @@ -//args: -Eunused -package p - -type ( - unused struct{} -) - -func X() {}