chore: Enable deferInLoop, exitAfterDefer and unnecessaryDefer checkers for gocritic (#13280)

Co-authored-by: Pawel Zak <Pawel Zak>
This commit is contained in:
Paweł Żak 2023-05-19 09:55:08 +02:00 committed by GitHub
parent 129f8881c8
commit 727533ee55
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 22 additions and 12 deletions

View File

@ -98,11 +98,13 @@ linters-settings:
- builtinShadowDecl - builtinShadowDecl
- caseOrder - caseOrder
- codegenComment - codegenComment
- deferInLoop
- dupBranchBody - dupBranchBody
- dupCase - dupCase
- dupSubExpr - dupSubExpr
- emptyDecl - emptyDecl
- evalOrder - evalOrder
- exitAfterDefer
- externalErrorReassign - externalErrorReassign
- nilValReturn - nilValReturn
- regexpPattern - regexpPattern
@ -110,6 +112,7 @@ linters-settings:
- sortSlice - sortSlice
- sqlQuery - sqlQuery
- uncheckedInlineErr - uncheckedInlineErr
- unnecessaryDefer
- weakCond - weakCond
gosec: gosec:
# To select a subset of rules to run. # To select a subset of rules to run.

View File

@ -15,5 +15,5 @@ func watchForFlushSignal(flushRequested chan os.Signal) {
} }
func stopListeningForFlushSignal(flushRequested chan os.Signal) { func stopListeningForFlushSignal(flushRequested chan os.Signal) {
defer signal.Stop(flushRequested) signal.Stop(flushRequested)
} }

View File

@ -6,10 +6,11 @@ import (
"testing" "testing"
"github.com/awnumar/memguard" "github.com/awnumar/memguard"
"github.com/stretchr/testify/require"
"github.com/influxdata/telegraf" "github.com/influxdata/telegraf"
"github.com/influxdata/telegraf/plugins/inputs" "github.com/influxdata/telegraf/plugins/inputs"
"github.com/influxdata/telegraf/plugins/secretstores" "github.com/influxdata/telegraf/plugins/secretstores"
"github.com/stretchr/testify/require"
) )
func TestSecretConstantManually(t *testing.T) { func TestSecretConstantManually(t *testing.T) {
@ -96,7 +97,7 @@ func TestUninitializedEnclave(t *testing.T) {
retrieved, err := s.Get() retrieved, err := s.Get()
require.NoError(t, err) require.NoError(t, err)
require.Empty(t, retrieved) require.Empty(t, retrieved)
defer ReleaseSecret(retrieved) ReleaseSecret(retrieved)
} }
func TestEnclaveOpenError(t *testing.T) { func TestEnclaveOpenError(t *testing.T) {

View File

@ -134,7 +134,7 @@ func TestHaproxyGeneratesMetricsUsingSocket(t *testing.T) {
} }
sockets[i] = sock sockets[i] = sock
defer sock.Close() //nolint:revive // done on purpose, closing will be executed properly defer sock.Close() //nolint:revive,gocritic // done on purpose, closing will be executed properly
s := statServer{} s := statServer{}
go s.serverSocket(sock) go s.serverSocket(sock)

View File

@ -253,6 +253,11 @@ func TestMain(m *testing.M) {
log.Fatalf("Failed to listen: %v", err) log.Fatalf("Failed to listen: %v", err)
} }
exitCode := 0
defer func() {
os.Exit(exitCode)
}()
cfg.Servers = []string{lis.Addr().String()} cfg.Servers = []string{lis.Addr().String()}
var opts []grpc.ServerOption var opts []grpc.ServerOption
@ -262,5 +267,6 @@ func TestMain(m *testing.M) {
grpcServer.Serve(lis) //nolint:errcheck // ignore the returned error as the tests will fail anyway grpcServer.Serve(lis) //nolint:errcheck // ignore the returned error as the tests will fail anyway
}() }()
defer grpcServer.Stop() defer grpcServer.Stop()
os.Exit(m.Run())
exitCode = m.Run()
} }

View File

@ -61,12 +61,12 @@ func main() {
endpoint, err := zipkin.NewEndpoint("Trivial", "127.0.0.1:0") endpoint, err := zipkin.NewEndpoint("Trivial", "127.0.0.1:0")
if err != nil { if err != nil {
log.Fatalf("Error: %v\n", err) log.Panicf("Error: %v\n", err)
} }
nativeTracer, err := zipkin.NewTracer(reporter, zipkin.WithLocalEndpoint(endpoint)) nativeTracer, err := zipkin.NewTracer(reporter, zipkin.WithLocalEndpoint(endpoint))
if err != nil { if err != nil {
log.Fatalf("Error: %v\n", err) log.Panicf("Error: %v\n", err)
} }
tracer := zipkinot.Wrap(nativeTracer) tracer := zipkinot.Wrap(nativeTracer)

View File

@ -68,7 +68,7 @@ func TestWriteWithDefaults(t *testing.T) {
err := i.Write([]telegraf.Metric{intMetric}) err := i.Write([]telegraf.Metric{intMetric})
require.NoError(t, err) require.NoError(t, err)
defer server.Close() server.Close()
} }
func TestWriteWithFields(t *testing.T) { func TestWriteWithFields(t *testing.T) {
@ -120,7 +120,7 @@ func TestWriteWithFields(t *testing.T) {
err := i.Write([]telegraf.Metric{floatMetric}) err := i.Write([]telegraf.Metric{floatMetric})
require.NoError(t, err) require.NoError(t, err)
defer server.Close() server.Close()
} }
func TestWriteWithTags(t *testing.T) { func TestWriteWithTags(t *testing.T) {
@ -189,5 +189,5 @@ func TestWriteWithTags(t *testing.T) {
err := i.Write([]telegraf.Metric{floatMetric}) err := i.Write([]telegraf.Metric{floatMetric})
require.NoError(t, err) require.NoError(t, err)
defer server.Close() server.Close()
} }

View File

@ -248,7 +248,7 @@ func (p *SQL) Write(metrics []telegraf.Metric) error {
if err != nil { if err != nil {
return fmt.Errorf("prepare failed: %w", err) return fmt.Errorf("prepare failed: %w", err)
} }
defer stmt.Close() //nolint:revive // We cannot do anything about a failing close. defer stmt.Close() //nolint:revive,gocritic // done on purpose, closing will be executed properly
_, err = stmt.Exec(values...) _, err = stmt.Exec(values...)
if err != nil { if err != nil {

View File

@ -257,6 +257,6 @@ func main() {
} }
defer file.Close() defer file.Close()
if _, err := output.WriteTo(file); err != nil { if _, err := output.WriteTo(file); err != nil {
log.Fatalf("Writing output file failed: %v", err) log.Panicf("Writing output file failed: %v", err)
} }
} }