diff --git a/Taskfile.yml b/Taskfile.yml index 9e17585b..035200da 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -12,7 +12,7 @@ tasks: sources: - "**/*.go" cmds: - - go fmt ./... + - gofumpt -l -w . mocks: desc: generate new mocks from scratch diff --git a/internal/cmd/mockery.go b/internal/cmd/mockery.go index 61bb5391..68f07663 100644 --- a/internal/cmd/mockery.go +++ b/internal/cmd/mockery.go @@ -18,9 +18,7 @@ import ( "golang.org/x/tools/go/packages" ) -var ( - ErrCfgFileNotFound = errors.New("config file not found") -) +var ErrCfgFileNotFound = errors.New("config file not found") func NewRootCmd() (*cobra.Command, error) { var pFlags *pflag.FlagSet @@ -82,7 +80,7 @@ func Execute() { if err != nil { os.Exit(1) } - if cmd.Execute(); err != nil { + if err := cmd.Execute(); err != nil { os.Exit(1) } } diff --git a/internal/cmd/showconfig.go b/internal/cmd/showconfig.go index 9893a863..5b7b21bd 100644 --- a/internal/cmd/showconfig.go +++ b/internal/cmd/showconfig.go @@ -30,7 +30,10 @@ func NewShowConfigCmd() *cobra.Command { } k := koanf.New("|") - k.Load(structs.Provider(conf, "koanf"), nil) + if err := k.Load(structs.Provider(conf, "koanf"), nil); err != nil { + log.Err(err).Msg("failed to load config") + return err + } b, _ := k.Marshal(koanfYAML.Parser()) fmt.Println(string(b)) diff --git a/internal/fixtures/method_args/same_name_arg_and_type/entity_test.go b/internal/fixtures/method_args/same_name_arg_and_type/entity_test.go index 1a83c445..5ad0ff15 100644 --- a/internal/fixtures/method_args/same_name_arg_and_type/entity_test.go +++ b/internal/fixtures/method_args/same_name_arg_and_type/entity_test.go @@ -37,7 +37,6 @@ func Test(t *testing.T) { } res := s.ExecDoB() assert.Equal(t, mockInterfaceB, res) - }) t.Run("ExecDoB0", func(t *testing.T) { mockInterfaceB0 := NewMockinterfaceB0(t) @@ -49,7 +48,6 @@ func Test(t *testing.T) { } res := s.ExecDoB0() assert.Equal(t, mockInterfaceB0, res) - }) t.Run("ExecDoB0v2", func(t *testing.T) { mockInterfaceB0 := NewMockinterfaceB0(t) @@ -61,6 +59,5 @@ func Test(t *testing.T) { } res := s.ExecDoB0v2() assert.Equal(t, mockInterfaceB0, res) - }) } diff --git a/internal/fixtures/requester_test.go b/internal/fixtures/requester_test.go index 4cfdbbff..7eb33674 100644 --- a/internal/fixtures/requester_test.go +++ b/internal/fixtures/requester_test.go @@ -13,7 +13,7 @@ func TestRequesterMock(t *testing.T) { m.EXPECT().Get("foo").Return("bar", nil).Once() retString, err := m.Get("foo") assert.NoError(t, err) - assert.Equal(t, retString, "bar") + assert.Equal(t, "bar", retString) } func TestRequesterMockRunAndReturn(t *testing.T) { @@ -23,7 +23,7 @@ func TestRequesterMockRunAndReturn(t *testing.T) { }) retString, err := m.Get("hello") assert.NoError(t, err) - assert.Equal(t, retString, "hello world") + assert.Equal(t, "hello world", retString) } func TestRequesterMockRun(t *testing.T) { @@ -34,15 +34,16 @@ func TestRequesterMockRun(t *testing.T) { }) retString, err := m.Get("hello") assert.NoError(t, err) - assert.Equal(t, retString, "") + assert.Equal(t, "", retString) } +//nolint:errcheck func TestRequesterMockTestifyEmbed(t *testing.T) { m := NewMockRequester(t) m.EXPECT().Get(mock.Anything).Return("", nil).Twice() m.Get("hello") m.Get("world") - assert.Equal(t, len(m.Mock.Calls), 2) + assert.Len(t, m.Mock.Calls, 2) } func TestRequesterMoq(t *testing.T) { diff --git a/internal/template_generator.go b/internal/template_generator.go index c2d0de41..93fd228c 100644 --- a/internal/template_generator.go +++ b/internal/template_generator.go @@ -24,9 +24,9 @@ import ( type Formatter string const ( - FORMAT_GOFMT Formatter = "gofmt" - FORMAT_GOIMPORRTS Formatter = "goimports" - FORMAT_NOOP Formatter = "noop" + FormatGofmt Formatter = "gofmt" + FormatGoImports Formatter = "goimports" + FormatNoop Formatter = "noop" ) var ( @@ -166,11 +166,11 @@ func NewTemplateGenerator( func (g *TemplateGenerator) format(src []byte) ([]byte, error) { switch g.formatter { - case FORMAT_GOIMPORRTS: + case FormatGoImports: return goimports(src) - case FORMAT_GOFMT: + case FormatGofmt: return gofmt(src) - case FORMAT_NOOP: + case FormatNoop: return src, nil } diff --git a/template/config.go b/template/config.go index bb036102..137be8b1 100644 --- a/template/config.go +++ b/template/config.go @@ -82,12 +82,19 @@ func NewRootConfig( } k := koanf.New("|") rootConfig.koanf = k - k.Set("dir", "{{.InterfaceDir}}") - k.Set("filename", "mocks_test.go") - k.Set("formatter", "goimports") - k.Set("mockname", "Mock{{.InterfaceName}}") - k.Set("pkgname", "{{.SrcPackageName}}") - k.Set("log-level", "info") + for key, val := range map[string]string{ + "dir": "{{.InterfaceDir}}", + "filename": "mocks_test.go", + "formatter": "goimports", + "mockname": "Mock{{.InterfaceName}}", + "pkgname": "{{.SrcPackageName}}", + "log-level": "info", + } { + if err := k.Set(key, val); err != nil { + log.Err(err).Msg("failed to set default value") + return nil, nil, stackerr.NewStackErr(err) + } + } configFileFromEnv := os.Getenv("MOCKERY_CONFIG") if configFileFromEnv != "" { @@ -111,7 +118,7 @@ func NewRootConfig( log.Debug().Str("config-file", configFile.String()).Msg("config file found") } rootConfig.configFile = configFile - k.Load( + if err := k.Load( env.Provider( "MOCKERY_", ".", @@ -119,7 +126,10 @@ func NewRootConfig( return strings.Replace(strings.ToLower(strings.TrimPrefix(s, "MOCKERY_")), "_", "-", -1) }), nil, - ) + ); err != nil { + log.Err(err).Msg("failed to load environment provider") + return nil, nil, stackerr.NewStackErr(err) + } if err := k.Load(file.Provider(configFile.String()), koanfYAML.Parser()); err != nil { return nil, k, fmt.Errorf("loading config file: %w", err) diff --git a/template/method_scope.go b/template/method_scope.go index 5e9c70ed..669fd1b9 100644 --- a/template/method_scope.go +++ b/template/method_scope.go @@ -164,6 +164,7 @@ func (m *MethodScope) AddVar(ctx context.Context, vr *types.Var, prefix string, moqPkgPath: m.moqPkgPath, } } else { + //nolint:contextcheck imports = m.populateImports(context.Background(), vr.Type()) v = Var{ vr: vr, diff --git a/template/package.go b/template/package.go index 2baf441f..f7be4f3e 100644 --- a/template/package.go +++ b/template/package.go @@ -71,13 +71,6 @@ func (p Package) uniqueName(lvl int) string { return name } -func min(a, b int) int { - if a < b { - return a - } - return b -} - func reverse(a []string) { for i := len(a)/2 - 1; i >= 0; i-- { opp := len(a) - 1 - i diff --git a/template/template.go b/template/template.go index c1d4125f..863f4c73 100644 --- a/template/template.go +++ b/template/template.go @@ -116,6 +116,7 @@ var TemplateMockFuncs = template.FuncMap{ }, } +//nolint:predeclared var StringManipulationFuncs = template.FuncMap{ // String inspection and manipulation. Note that the first argument is replaced // as the last argument in some functions in order to support chained diff --git a/tools/tools.go b/tools/tools.go index 4a5cd139..4a769911 100644 --- a/tools/tools.go +++ b/tools/tools.go @@ -6,4 +6,5 @@ import ( _ "github.com/go-task/task/v3/cmd/task" _ "github.com/golangci/golangci-lint/cmd/golangci-lint" _ "gotest.tools/gotestsum" + _ "mvdan.cc/gofumpt" )