From afcd13f1ef5da60e833cab0e75cc628e37d625bd Mon Sep 17 00:00:00 2001 From: "Stanislav N. aka pztrn" Date: Wed, 29 Jun 2022 16:35:24 +0500 Subject: [PATCH] Switch to mirrorred images for Drone and make linters happy. --- .drone.yml | 14 +++----------- .golangci.yml | 4 ++++ exported.go | 2 +- flag.go | 4 ++-- flagger.go | 21 +++++++++------------ flagger_test.go | 3 +-- 6 files changed, 20 insertions(+), 28 deletions(-) diff --git a/.drone.yml b/.drone.yml index 5087994..cd82c4a 100644 --- a/.drone.yml +++ b/.drone.yml @@ -5,23 +5,15 @@ name: test-and-lint steps: - name: lint - image: golangci/golangci-lint:latest + image: code.pztrn.name/containers/mirror/golangci/golangci-lint:v1.46.2 environment: CGO_ENABLED: "0" commands: - golangci-lint run - - name: test-1.14 - image: golang:1.14.4-alpine + - name: test-1.18 + image: code.pztrn.name/containers/mirror/golang:1.18.3-alpine environment: CGO_ENABLED: "0" commands: - go test -cover -test.v . - - - name: test-1.13 - image: golang:1.13.12-alpine - environment: - CGO_ENABLED: "0" - commands: - - go test -cover -test.v . - diff --git a/.golangci.yml b/.golangci.yml index 413fda7..00ce0fd 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -10,6 +10,10 @@ linters: - gocritic # Complains about main() lengths, which isn't an issue. - funlen + - varnamelen + - paralleltest + # Deprecated. + - exhaustivestruct linters-settings: lll: line-length: 420 diff --git a/exported.go b/exported.go index b4ed0b3..d5ca946 100644 --- a/exported.go +++ b/exported.go @@ -24,7 +24,6 @@ package flagger import ( - // stdlib "log" "os" ) @@ -47,6 +46,7 @@ func New(appName string, l LoggerInterface) *Flagger { logger = l } + // nolint:exhaustruct f := Flagger{} return &f diff --git a/flag.go b/flag.go index 260c96a..2e33271 100644 --- a/flag.go +++ b/flag.go @@ -25,12 +25,12 @@ package flagger // Flag represents addable flag for Flagger. type Flag struct { + // This value will be reflected. + DefaultValue interface{} // Flag name. It will be accessible using this name later. Name string // Description for help output. Description string // Type can be one of "bool", "int", "string". Type string - // This value will be reflected. - DefaultValue interface{} } diff --git a/flagger.go b/flagger.go index 125492a..4f24321 100644 --- a/flagger.go +++ b/flagger.go @@ -24,8 +24,6 @@ package flagger import ( - // stdlib - "flag" "os" ) @@ -50,8 +48,7 @@ type Flagger struct { // AddFlag adds flag to list of flags we will pass to ``flag`` package. func (f *Flagger) AddFlag(flag *Flag) error { - _, present := f.flags[flag.Name] - if present { + if _, present := f.flags[flag.Name]; present { return ErrFlagAlreadyAdded } @@ -117,16 +114,17 @@ func (f *Flagger) Parse() { } for name, fl := range f.flags { - if fl.Type == "bool" { - fdef := fl.DefaultValue.(bool) + switch fl.Type { + case "bool": + fdef, _ := fl.DefaultValue.(bool) f.flagsBool[name] = &fdef f.flagSet.BoolVar(&fdef, name, fdef, fl.Description) - } else if fl.Type == "int" { - fdef := fl.DefaultValue.(int) + case "int": + fdef, _ := fl.DefaultValue.(int) f.flagsInt[name] = &fdef f.flagSet.IntVar(&fdef, name, fdef, fl.Description) - } else if fl.Type == "string" { - fdef := fl.DefaultValue.(string) + case "string": + fdef, _ := fl.DefaultValue.(string) f.flagsString[name] = &fdef f.flagSet.StringVar(&fdef, name, fdef, fl.Description) } @@ -134,8 +132,7 @@ func (f *Flagger) Parse() { logger.Print("Parsing CLI parameters:", os.Args) - err := f.flagSet.Parse(os.Args[1:]) - if err != nil { + if err := f.flagSet.Parse(os.Args[1:]); err != nil { os.Exit(0) } } diff --git a/flagger_test.go b/flagger_test.go index 1d454bc..46bafb5 100644 --- a/flagger_test.go +++ b/flagger_test.go @@ -24,12 +24,10 @@ package flagger import ( - // stdlib "log" "os" "testing" - // other "github.com/stretchr/testify/require" ) @@ -113,6 +111,7 @@ func TestFlaggerAddStringFlag(t *testing.T) { err := f.AddFlag(&flagTestString) require.Nil(t, err) } + func TestFlaggerParse(t *testing.T) { f := New("tests", LoggerInterface(log.New(os.Stdout, "testing logger: ", log.Lshortfile))) require.NotNil(t, f)