Skip to content

Commit 1c486ce

Browse files
u5surfBupycHuk
andauthored
Fix linter issue #2538 (#2545)
* Fix linter issue #2538 * Fix nakedret * Fix gosec * Fix forbidigo * Fix gosmopolitan * Update golangci-lint * Add disable lint rules * #2545 (comment) * Fix defer close lint error * Fix ireturn nolint --------- Co-authored-by: Nurlan Moldomurov <[email protected]>
1 parent 1edf9b3 commit 1c486ce

File tree

68 files changed

+239
-223
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+239
-223
lines changed

.github/workflows/main.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ jobs:
8989
fail_on_error: true
9090
cache: false
9191
golangci_lint_flags: "-c=.golangci.yml"
92-
golangci_lint_version: v1.51.2 # Version should match specified in Makefile
92+
golangci_lint_version: v1.54.2 # Version should match specified in Makefile
9393

9494
- name: Run go-consistent
9595
env:

.golangci.yml

+1
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ linters:
119119
- revive
120120
- paralleltest
121121
- gocognit
122+
- tagalign
122123

123124
# ENDTODO
124125

Makefile.include

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ init: ## Install tools
2020
cd tools && go generate -x -tags=tools
2121

2222
# Install golangci-lint
23-
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b ./bin v1.51.2 # Version should match specified in CI
23+
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b ./bin v1.54.2 # Version should match specified in CI
2424

2525
release: ## Build release versions of all components
2626
make -C agent release

admin/commands/base_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ func TestReadFile(t *testing.T) {
157157
err = os.Remove(cert.Name())
158158
assert.NoError(t, err)
159159
}()
160-
_, err = cert.Write([]byte("cert"))
160+
_, err = cert.WriteString("cert")
161161
require.NoError(t, err)
162162

163163
certificate, err := ReadFile(cert.Name())

admin/commands/summary.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ func addFile(zipW *zip.Writer, name string, fileName string) {
8585
logrus.Debugf("%s", err)
8686
r = io.NopCloser(bytes.NewReader([]byte(err.Error() + "\n")))
8787
}
88-
defer r.Close() //nolint:gosec,errcheck
88+
defer r.Close() //nolint:gosec,errcheck,nolintlint
8989

9090
modTime := time.Now()
9191
if fi, _ := os.Stat(fileName); fi != nil {
@@ -219,7 +219,7 @@ func addVMAgentTargets(ctx context.Context, zipW *zip.Writer, agentsInfo []*agen
219219
addData(zipW, "client/vmagent-targets.html", now, bytes.NewReader([]byte(err.Error())))
220220
return
221221
}
222-
defer res.Body.Close() //nolint:gosec,errcheck
222+
defer res.Body.Close() //nolint:gosec,errcheck,nolintlint
223223
html, err = io.ReadAll(res.Body)
224224
if err != nil {
225225
logrus.Debugf("%s", err)
@@ -241,7 +241,7 @@ func getURL(ctx context.Context, url string) ([]byte, error) {
241241
if err != nil {
242242
return nil, errors.WithStack(err)
243243
}
244-
defer resp.Body.Close() //nolint:gosec,errcheck
244+
defer resp.Body.Close() //nolint:gosec,errcheck,nolintlint
245245

246246
if resp.StatusCode != http.StatusOK {
247247
return nil, errors.Errorf("status code: %d", resp.StatusCode)
@@ -362,7 +362,7 @@ func (cmd *SummaryCommand) makeArchive(ctx context.Context, globals *flags.Globa
362362

363363
if f, err = os.Create(cmd.Filename); err != nil {
364364
err = errors.WithStack(err)
365-
return
365+
return //nolint:nakedret
366366
}
367367

368368
defer func() {

admin/pkg/client/client.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ func GetLatestVersion(ctx context.Context) (string, error) {
6969
return "", err
7070
}
7171

72-
defer res.Body.Close() //nolint:errcheck,gosec
72+
defer res.Body.Close() //nolint:errcheck,gosec,nolintlint
7373

7474
url, err := res.Location()
7575
if err != nil {

admin/pkg/client/tarball/tarball.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ func (b *Base) downloadTarball(ctx context.Context, link string) (string, error)
104104
return "", err
105105
}
106106

107-
defer f.Close() //nolint:gosec,errcheck
107+
defer f.Close() //nolint:gosec,errcheck,nolintlint
108108

109109
req, err := http.NewRequestWithContext(ctx, http.MethodGet, link, nil)
110110
if err != nil {
@@ -116,7 +116,7 @@ func (b *Base) downloadTarball(ctx context.Context, link string) (string, error)
116116
return "", err
117117
}
118118

119-
defer res.Body.Close() //nolint:errcheck,gosec
119+
defer res.Body.Close() //nolint:errcheck,gosec,nolintlint
120120
if res.StatusCode != http.StatusOK {
121121
return "", fmt.Errorf("%w: cannot download installation tarball (http %d)", ErrHTTPStatusNotOk, res.StatusCode)
122122
}
@@ -148,7 +148,7 @@ func (b *Base) checksumTarball(ctx context.Context, link string, path string) er
148148
return err
149149
}
150150

151-
defer res.Body.Close() //nolint:gosec,errcheck
151+
defer res.Body.Close() //nolint:gosec,errcheck,nolintlint
152152
if res.StatusCode != http.StatusOK {
153153
return fmt.Errorf("%w: cannot download tarball's sha256sum (http %d)", ErrHTTPStatusNotOk, res.StatusCode)
154154
}
@@ -170,7 +170,7 @@ func (b *Base) checksumTarball(ctx context.Context, link string, path string) er
170170
return err
171171
}
172172

173-
defer f.Close() //nolint:errcheck,gosec
173+
defer f.Close() //nolint:errcheck,gosec,nolintlint
174174

175175
h := sha256.New()
176176
if _, err := io.Copy(h, f); err != nil {

agent/agents/mysql/slowlog/parser/parser.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ func NewSlowLogParser(r Reader, opts log.Options) *SlowLogParser {
7070

7171
if opts.DefaultLocation == nil {
7272
// Old MySQL format assumes time is taken from SYSTEM.
73-
opts.DefaultLocation = time.Local
73+
opts.DefaultLocation = time.Local //nolint:gosmopolitan
7474
}
7575
p := &SlowLogParser{
7676
r: r,

agent/agents/process/process_logger.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func (pl *processLogger) Write(p []byte) (n int, err error) { //nolint:nonamedre
6262
b := bytes.NewBuffer(pl.buf)
6363
n, err = b.Write(p)
6464
if err != nil {
65-
return
65+
return //nolint:nakedret
6666
}
6767

6868
var line string
@@ -71,7 +71,7 @@ func (pl *processLogger) Write(p []byte) (n int, err error) { //nolint:nonamedre
7171
if err != nil {
7272
pl.buf = []byte(line)
7373
err = nil
74-
return
74+
return //nolint:nakedret
7575
}
7676
line = strings.TrimSuffix(line, "\n")
7777
if pl.replacer != nil {

agent/agents/supervisor/ports_registry_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ func TestRegistry(t *testing.T) {
2727
r := newPortsRegistry(65000, 65002, []uint16{65000})
2828
l1, err := net.Listen("tcp", "127.0.0.1:65001")
2929
require.NoError(t, err)
30-
defer l1.Close() //nolint:gosec,errcheck
30+
defer l1.Close() //nolint:gosec,errcheck,nolintlint
3131

3232
p, err := r.Reserve()
3333
assert.NoError(t, err)
@@ -37,7 +37,7 @@ func TestRegistry(t *testing.T) {
3737

3838
l2, err := net.Listen("tcp", "127.0.0.1:65002")
3939
require.NoError(t, err)
40-
defer l2.Close() //nolint:errcheck,gosec
40+
defer l2.Close() //nolint:errcheck,gosec,nolintlint
4141

4242
err = r.Release(65000)
4343
assert.NoError(t, err)

agent/config/config.go

+8-7
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package config
1818
import (
1919
"fmt"
2020
"io/fs"
21+
"log"
2122
"net"
2223
"net/url"
2324
"os"
@@ -301,25 +302,25 @@ func get(args []string, cfg *Config, l *logrus.Entry) (configFileF string, err e
301302
// parse command-line flags and environment variables
302303
app, cfgFileF := Application(cfg)
303304
if _, err = app.Parse(args); err != nil {
304-
return
305+
return //nolint:nakedret
305306
}
306307
if *cfgFileF == "" {
307-
return
308+
return //nolint:nakedret
308309
}
309310

310311
if configFileF, err = filepath.Abs(*cfgFileF); err != nil {
311-
return
312+
return //nolint:nakedret
312313
}
313314
l.Infof("Loading configuration file %s.", configFileF)
314315
fileCfg, err := loadFromFile(configFileF)
315316
if err != nil {
316-
return
317+
return //nolint:nakedret
317318
}
318319

319320
// re-parse flags into configuration from file
320321
app, _ = Application(fileCfg)
321322
if _, err = app.Parse(args); err != nil {
322-
return
323+
return //nolint:nakedret
323324
}
324325

325326
*cfg = *fileCfg
@@ -412,9 +413,9 @@ func Application(cfg *Config) (*kingpin.Application, *string) {
412413

413414
app.Flag("version", "Show application version").Short('v').Action(func(*kingpin.ParseContext) error {
414415
if *jsonF {
415-
fmt.Println(version.FullInfoJSON())
416+
log.Println(version.FullInfoJSON())
416417
} else {
417-
fmt.Println(version.FullInfo())
418+
log.Println(version.FullInfo())
418419
}
419420
os.Exit(0)
420421

agent/connectionchecker/connection_checker.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ func (cc *ConnectionChecker) checkExternalConnection(ctx context.Context, uri st
254254
res.Error = err.Error()
255255
return &res
256256
}
257-
defer resp.Body.Close() //nolint:gosec,errcheck
257+
defer resp.Body.Close() //nolint:gosec,errcheck,nolintlint
258258

259259
if resp.StatusCode != http.StatusOK {
260260
res.Error = fmt.Sprintf("Unexpected HTTP status code: %d. Expected: 200", resp.StatusCode)

agent/runner/jobs/pbm_helpers_test.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,8 @@ func TestCreatePBMConfig(t *testing.T) {
114114
},
115115
} {
116116
t.Run(test.name, func(t *testing.T) {
117-
res, err := createPBMConfig(&test.inputLocation, "test_prefix", test.inputPitr)
117+
inputLocation := test.inputLocation
118+
res, err := createPBMConfig(&inputLocation, "test_prefix", test.inputPitr)
118119
if test.errString != "" {
119120
assert.ErrorContains(t, err, test.errString)
120121
assert.Nil(t, res)

api-tests/server/auth_test.go

+16-16
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func TestAuth(t *testing.T) {
6262
req, _ := http.NewRequestWithContext(pmmapitests.Context, http.MethodGet, uri.String(), nil)
6363
resp, err := http.DefaultClient.Do(req)
6464
require.NoError(t, err)
65-
defer resp.Body.Close() //nolint:gosec,errcheck
65+
defer resp.Body.Close() //nolint:gosec,errcheck,nolintlint
6666

6767
b, err := httputil.DumpResponse(resp, true)
6868
require.NoError(t, err)
@@ -119,7 +119,7 @@ func TestSetup(t *testing.T) {
119119
req.Header.Set("X-Test-Must-Setup", "1")
120120

121121
resp, b := doRequest(t, client, req)
122-
defer resp.Body.Close() //nolint:gosec,errcheck
122+
defer resp.Body.Close() //nolint:gosec,errcheck,nolintlint
123123

124124
assert.Equal(t, 200, resp.StatusCode, "response:\n%s", b)
125125
assert.True(t, strings.HasPrefix(string(b), `<!doctype html>`), string(b))
@@ -153,7 +153,7 @@ func TestSetup(t *testing.T) {
153153
req.Header.Set("X-Test-Must-Setup", "1")
154154

155155
resp, b := doRequest(t, client, req)
156-
defer resp.Body.Close() //nolint:gosec,errcheck
156+
defer resp.Body.Close() //nolint:gosec,errcheck,nolintlint
157157

158158
assert.Equal(t, code, resp.StatusCode, "response:\n%s", b)
159159
if code == 303 {
@@ -179,7 +179,7 @@ func TestSetup(t *testing.T) {
179179
req.Header.Set("X-Test-Must-Setup", "1")
180180

181181
resp, b := doRequest(t, client, req)
182-
defer resp.Body.Close() //nolint:gosec,errcheck
182+
defer resp.Body.Close() //nolint:gosec,errcheck,nolintlint
183183

184184
assert.Equal(t, 200, resp.StatusCode, "response:\n%s", b)
185185
assert.Equal(t, "{}", string(b), "response:\n%s", b)
@@ -214,7 +214,7 @@ func TestSwagger(t *testing.T) {
214214
require.NoError(t, err)
215215

216216
resp, _ := doRequest(t, http.DefaultClient, req)
217-
defer resp.Body.Close() //nolint:gosec,errcheck
217+
defer resp.Body.Close() //nolint:gosec,errcheck,nolintlint
218218

219219
require.NoError(t, err)
220220
assert.Equal(t, 200, resp.StatusCode)
@@ -231,7 +231,7 @@ func TestSwagger(t *testing.T) {
231231
require.NoError(t, err)
232232

233233
resp, _ := doRequest(t, http.DefaultClient, req)
234-
defer resp.Body.Close() //nolint:gosec,errcheck
234+
defer resp.Body.Close() //nolint:gosec,errcheck,nolintlint
235235

236236
require.NoError(t, err)
237237
assert.Equal(t, 200, resp.StatusCode)
@@ -318,7 +318,7 @@ func TestPermissions(t *testing.T) {
318318

319319
resp, err := http.DefaultClient.Do(req)
320320
require.NoError(t, err)
321-
defer resp.Body.Close() //nolint:gosec,errcheck
321+
defer resp.Body.Close() //nolint:gosec,errcheck,nolintlint
322322

323323
assert.Equal(t, user.statusCode, resp.StatusCode)
324324
})
@@ -340,7 +340,7 @@ func TestPermissions(t *testing.T) {
340340

341341
resp, err := http.DefaultClient.Do(req)
342342
require.NoError(t, err)
343-
defer resp.Body.Close() //nolint:gosec,errcheck
343+
defer resp.Body.Close() //nolint:gosec,errcheck,nolintlint
344344

345345
assert.Equal(t, user.statusCode, resp.StatusCode)
346346
})
@@ -360,7 +360,7 @@ func TestPermissions(t *testing.T) {
360360

361361
resp, err := http.DefaultClient.Do(req)
362362
require.NoError(t, err)
363-
defer resp.Body.Close() //nolint:gosec,errcheck
363+
defer resp.Body.Close() //nolint:gosec,errcheck,nolintlint
364364

365365
assert.Equal(t, user.statusCode, resp.StatusCode)
366366
})
@@ -374,7 +374,7 @@ func doRequest(tb testing.TB, client *http.Client, req *http.Request) (*http.Res
374374
resp, err := client.Do(req)
375375
require.NoError(tb, err)
376376

377-
defer resp.Body.Close() //nolint:gosec,errcheck
377+
defer resp.Body.Close() //nolint:gosec,errcheck,nolintlint
378378

379379
b, err := io.ReadAll(resp.Body)
380380
require.NoError(tb, err)
@@ -400,7 +400,7 @@ func deleteUser(t *testing.T, userID int) {
400400
require.NoError(t, err)
401401

402402
resp, b := doRequest(t, http.DefaultClient, req)
403-
defer resp.Body.Close() //nolint:gosec,errcheck
403+
defer resp.Body.Close() //nolint:gosec,errcheck,nolintlint
404404

405405
require.Equalf(t, http.StatusOK, resp.StatusCode, "failed to delete user, status code: %d, response: %s", resp.StatusCode, b)
406406
}
@@ -426,7 +426,7 @@ func createUser(t *testing.T, login string) int {
426426
req.Header.Set("Content-Type", "application/json; charset=utf-8")
427427

428428
resp, b := doRequest(t, http.DefaultClient, req)
429-
defer resp.Body.Close() //nolint:gosec,errcheck
429+
defer resp.Body.Close() //nolint:gosec,errcheck,nolintlint
430430
require.Equalf(t, http.StatusOK, resp.StatusCode, "failed to create user, status code: %d, response: %s", resp.StatusCode, b)
431431

432432
var m map[string]interface{}
@@ -453,7 +453,7 @@ func setRole(t *testing.T, userID int, role string) {
453453

454454
req.Header.Set("Content-Type", "application/json; charset=utf-8")
455455
resp, b := doRequest(t, http.DefaultClient, req)
456-
defer resp.Body.Close() //nolint:gosec,errcheck
456+
defer resp.Body.Close() //nolint:gosec,errcheck,nolintlint
457457

458458
require.Equalf(t, http.StatusOK, resp.StatusCode, "failed to set role for user, response: %s", b)
459459
}
@@ -469,7 +469,7 @@ func deleteAPIKey(t *testing.T, apiKeyID int) {
469469
require.NoError(t, err)
470470

471471
resp, b := doRequest(t, http.DefaultClient, req)
472-
defer resp.Body.Close() //nolint:gosec,errcheck
472+
defer resp.Body.Close() //nolint:gosec,errcheck,nolintlint
473473

474474
require.Equalf(t, http.StatusOK, resp.StatusCode, "failed to delete API Key, status code: %d, response: %s", resp.StatusCode, b)
475475
}
@@ -493,7 +493,7 @@ func createAPIKeyWithRole(t *testing.T, name, role string) (int, string) {
493493
req.Header.Set("Content-Type", "application/json; charset=utf-8")
494494

495495
resp, b := doRequest(t, http.DefaultClient, req)
496-
defer resp.Body.Close() //nolint:gosec,errcheck
496+
defer resp.Body.Close() //nolint:gosec,errcheck,nolintlint
497497

498498
require.Equalf(t, http.StatusOK, resp.StatusCode, "failed to create API key, status code: %d, response: %s", resp.StatusCode, b)
499499

@@ -509,7 +509,7 @@ func createAPIKeyWithRole(t *testing.T, name, role string) (int, string) {
509509
req.Header.Set("Authorization", fmt.Sprintf("Bearer %s", apiKey))
510510

511511
resp1, b := doRequest(t, http.DefaultClient, req)
512-
defer resp1.Body.Close() //nolint:gosec,errcheck
512+
defer resp1.Body.Close() //nolint:gosec,errcheck,nolintlint
513513

514514
require.Equalf(t, http.StatusOK, resp1.StatusCode, "failed to get API key, status code: %d, response: %s", resp1.StatusCode, b)
515515

api-tests/server/readyz_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ func TestReadyz(t *testing.T) {
5252
req, _ := http.NewRequestWithContext(pmmapitests.Context, http.MethodGet, uri.String(), nil)
5353
resp, err := http.DefaultClient.Do(req)
5454
require.NoError(t, err)
55-
defer resp.Body.Close() //nolint:gosec,errcheck
55+
defer resp.Body.Close() //nolint:gosec,errcheck,nolintlint
5656

5757
b, err := io.ReadAll(resp.Body)
5858
require.NoError(t, err)

api-tests/server/version_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ func TestVersion(t *testing.T) {
5050
req, _ := http.NewRequestWithContext(pmmapitests.Context, http.MethodGet, uri.String(), nil)
5151
resp, err := http.DefaultClient.Do(req)
5252
require.NoError(t, err)
53-
defer resp.Body.Close() //nolint:gosec,errcheck
53+
defer resp.Body.Close() //nolint:gosec,errcheck,nolintlint
5454

5555
b, err := io.ReadAll(resp.Body)
5656
require.NoError(t, err)

0 commit comments

Comments
 (0)