Skip to content

Commit ceaf8bf

Browse files
matthewdaleBenji Rewis
authored andcommitted
Fix new lint failures and drop deprecated linters. (#1055)
1 parent f0a6583 commit ceaf8bf

File tree

12 files changed

+44
-8
lines changed

12 files changed

+44
-8
lines changed

.golangci.yml

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ linters:
55
disable-all: true
66
# TODO(GODRIVER-2156): Enable all commented-out linters.
77
enable:
8-
- deadcode
98
- errcheck
109
# - errorlint
1110
- goimports
@@ -18,12 +17,10 @@ linters:
1817
- nakedret
1918
- revive
2019
- staticcheck
21-
- structcheck
2220
- typecheck
2321
- unused
2422
- unconvert
2523
# - unparam
26-
- varcheck
2724

2825
linters-settings:
2926
errcheck:
@@ -65,15 +62,29 @@ issues:
6562
- path: x/mongo/driver/auth/internal/awsv4
6663
linters:
6764
- unused
68-
- structcheck
69-
# Disable "unused" linter for "crypt.go" because the linter doesn't work correctly without
70-
# enabling CGO.
71-
- path: x/mongo/driver/crypt.go
65+
# Disable "unused" linter for code files that depend on the "mongocrypt.MongoCrypt" type because
66+
# the linter build doesn't work correctly with CGO enabled. As a result, all calls to a
67+
# "mongocrypt.MongoCrypt" API appear to always panic (see mongocrypt_not_enabled.go), leading
68+
# to confusing messages about unused code.
69+
- path: x/mongo/driver/crypt.go|mongo/(crypt_retrievers|mongocryptd).go
7270
linters:
7371
- unused
7472
# Ignore "TLS MinVersion too low", "TLS InsecureSkipVerify set true", and "Use of weak random
7573
# number generator (math/rand instead of crypto/rand)" in tests.
7674
- path: (.+)_test.go
7775
text: G401|G402|G404
7876
linters:
79-
- gosec
77+
- gosec
78+
# Ignore missing comments for exported variable/function/type for code in the "internal" and
79+
# "benchmark" directories.
80+
- path: (internal\/|benchmark\/)
81+
text: exported (.+) should have comment( \(or a comment on this block\))? or be unexported
82+
# Ignore missing package comments for directories that aren't frequently used by external users.
83+
# TODO(GODRIVER-2517): Remove "mongo/testaws" and "mongo/testatlas" from the ignored paths when
84+
# TODO we move those packages to the "cmd/" directory.
85+
- path: (internal\/|benchmark\/|x\/|cmd\/|mongo\/integration\/|mongo\/(testaws\/|testatlas\/))
86+
text: should have a package comment
87+
# Disable unused linter for "golang.org/x/exp/rand" package in internal/randutil/rand.
88+
- path: internal/randutil/rand
89+
linters:
90+
- unused

bson/bsonoptions/doc.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// Copyright (C) MongoDB, Inc. 2022-present.
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License"); you may
4+
// not use this file except in compliance with the License. You may obtain
5+
// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
6+
7+
// Package bsonoptions defines the optional configurations for the BSON codecs.
8+
package bsonoptions

bson/bsonrw/bsonrwtest/bsonrwtest.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
// not use this file except in compliance with the License. You may obtain
55
// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
66

7+
// Package bsonrwtest provides utilities for testing the "bson/bsonrw" package.
78
package bsonrwtest // import "go.mongodb.org/mongo-driver/bson/bsonrw/bsonrwtest"
89

910
import (

internal/testutil/israce/norace.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
// not use this file except in compliance with the License. You may obtain
55
// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
66

7+
//go:build !race
78
// +build !race
89

910
// Package israce reports if the Go race detector is enabled.

mongo/address/addr.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
// not use this file except in compliance with the License. You may obtain
55
// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
66

7+
// Package address provides structured representations of network addresses.
78
package address // import "go.mongodb.org/mongo-driver/mongo/address"
89

910
import (

mongo/description/description.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
// not use this file except in compliance with the License. You may obtain
55
// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
66

7+
// Package description contains types and functions for describing the state of MongoDB clusters.
78
package description // import "go.mongodb.org/mongo-driver/mongo/description"
89

910
// Unknown is an unknown server or topology kind.

mongo/options/doc.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
// Copyright (C) MongoDB, Inc. 2022-present.
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License"); you may
4+
// not use this file except in compliance with the License. You may obtain
5+
// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
6+
7+
// Package options defines the optional configurations for the MongoDB Go Driver.
8+
package options

mongo/readconcern/readconcern.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
// not use this file except in compliance with the License. You may obtain
55
// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
66

7+
// Package readconcern defines read concerns for MongoDB operations.
78
package readconcern // import "go.mongodb.org/mongo-driver/mongo/readconcern"
89

910
import (

mongo/readpref/readpref.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
// not use this file except in compliance with the License. You may obtain
55
// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
66

7+
// Package readpref defines read preferences for MongoDB queries.
78
package readpref // import "go.mongodb.org/mongo-driver/mongo/readpref"
89

910
import (

mongo/writeconcern/writeconcern.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
// not use this file except in compliance with the License. You may obtain
55
// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
66

7+
// Package writeconcern defines write concerns for MongoDB operations.
78
package writeconcern // import "go.mongodb.org/mongo-driver/mongo/writeconcern"
89

910
import (

0 commit comments

Comments
 (0)