Skip to content

Commit 2707022

Browse files
committed
chore: align golangci-lint with etcd
Signed-off-by: Matthieu MOREL <[email protected]>
1 parent 64b4268 commit 2707022

Some content is hidden

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

43 files changed

+283
-231
lines changed

.golangci.yaml

+50-1
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,62 @@ linters:
44
disable-all: true
55
enable: # please keep this alphabetized
66
- errcheck
7-
- gofmt
7+
# - errorlint
8+
- gofumpt
89
- goimports
910
- gosimple
1011
- govet
1112
- ineffassign
13+
- nakedret
14+
- revive
1215
- staticcheck
16+
# - stylecheck
17+
# - testifylint
18+
# - unconvert # Remove unnecessary type conversions
19+
# - unparam
1320
- unused
21+
- usestdlibvars
22+
- whitespace
1423
linters-settings: # please keep this alphabetized
1524
goimports:
1625
local-prefixes: go.etcd.io # Put imports beginning with prefix after 3rd-party packages.
26+
revive:
27+
rules:
28+
- name: blank-imports
29+
- name: context-as-argument
30+
- name: context-keys-type
31+
- name: dot-imports
32+
- name: early-return
33+
disabled: true
34+
arguments:
35+
- "preserveScope"
36+
- name: error-return
37+
- name: error-naming
38+
disabled: true
39+
- name: error-strings
40+
disabled: true
41+
- name: errorf
42+
- name: exported
43+
- name: if-return
44+
disabled: true
45+
- name: increment-decrement
46+
disabled: true
47+
- name: indent-error-flow
48+
disabled: true
49+
- name: package-comments
50+
- name: range
51+
- name: receiver-naming
52+
disabled: true
53+
- name: superfluous-else
54+
disabled: true
55+
arguments:
56+
- "preserveScope"
57+
- name: time-naming
58+
- name: unexported-return
59+
disabled: true
60+
- name: use-any
61+
disabled: true
62+
- name: var-declaration
63+
disabled: true
64+
- name: var-naming
65+
disabled: true

bolt_unix.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func mmap(db *DB, sz int) error {
6262
err = unix.Madvise(b, syscall.MADV_RANDOM)
6363
if err != nil && err != syscall.ENOSYS {
6464
// Ignore not implemented error in kernel because it still works.
65-
return fmt.Errorf("madvise: %s", err)
65+
return fmt.Errorf("madvise: %w", err)
6666
}
6767

6868
// Save the original byte slice and convert to a byte array pointer.

bucket.go

+21-21
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ type Bucket struct {
4545

4646
// newBucket returns a new bucket associated with a transaction.
4747
func newBucket(tx *Tx) Bucket {
48-
var b = Bucket{tx: tx, FillPercent: DefaultFillPercent}
48+
b := Bucket{tx: tx, FillPercent: DefaultFillPercent}
4949
if tx.writable {
5050
b.buckets = make(map[string]*Bucket)
5151
b.nodes = make(map[common.Pgid]*node)
@@ -102,7 +102,7 @@ func (b *Bucket) Bucket(name []byte) *Bucket {
102102
}
103103

104104
// Otherwise create a bucket and cache it.
105-
var child = b.openBucket(v)
105+
child := b.openBucket(v)
106106
if b.buckets != nil {
107107
b.buckets[string(name)] = child
108108
}
@@ -113,7 +113,7 @@ func (b *Bucket) Bucket(name []byte) *Bucket {
113113
// Helper method that re-interprets a sub-bucket value
114114
// from a parent into a Bucket
115115
func (b *Bucket) openBucket(value []byte) *Bucket {
116-
var child = newBucket(b.tx)
116+
child := newBucket(b.tx)
117117

118118
// Unaligned access requires a copy to be made.
119119
const unalignedMask = unsafe.Alignof(struct {
@@ -182,12 +182,12 @@ func (b *Bucket) CreateBucket(key []byte) (rb *Bucket, err error) {
182182
}
183183

184184
// Create empty, inline bucket.
185-
var bucket = Bucket{
185+
bucket := Bucket{
186186
InBucket: &common.InBucket{},
187187
rootNode: &node{isLeaf: true},
188188
FillPercent: DefaultFillPercent,
189189
}
190-
var value = bucket.write()
190+
value := bucket.write()
191191

192192
c.node().put(newKey, newKey, value, 0, common.BucketLeafFlag)
193193

@@ -240,7 +240,7 @@ func (b *Bucket) CreateBucketIfNotExists(key []byte) (rb *Bucket, err error) {
240240
// Return an error if there is an existing non-bucket key.
241241
if bytes.Equal(newKey, k) {
242242
if (flags & common.BucketLeafFlag) != 0 {
243-
var child = b.openBucket(v)
243+
child := b.openBucket(v)
244244
if b.buckets != nil {
245245
b.buckets[string(newKey)] = child
246246
}
@@ -251,12 +251,12 @@ func (b *Bucket) CreateBucketIfNotExists(key []byte) (rb *Bucket, err error) {
251251
}
252252

253253
// Create empty, inline bucket.
254-
var bucket = Bucket{
254+
bucket := Bucket{
255255
InBucket: &common.InBucket{},
256256
rootNode: &node{isLeaf: true},
257257
FillPercent: DefaultFillPercent,
258258
}
259-
var value = bucket.write()
259+
value := bucket.write()
260260

261261
c.node().put(newKey, newKey, value, 0, common.BucketLeafFlag)
262262

@@ -305,7 +305,7 @@ func (b *Bucket) DeleteBucket(key []byte) (err error) {
305305
child := b.Bucket(newKey)
306306
err = child.ForEachBucket(func(k []byte) error {
307307
if err := child.DeleteBucket(k); err != nil {
308-
return fmt.Errorf("delete bucket: %s", err)
308+
return fmt.Errorf("delete bucket: %w", err)
309309
}
310310
return nil
311311
})
@@ -716,7 +716,7 @@ func (b *Bucket) forEachPageNode(fn func(*common.Page, *node, int)) {
716716
}
717717

718718
func (b *Bucket) _forEachPageNode(pgId common.Pgid, depth int, fn func(*common.Page, *node, int)) {
719-
var p, n = b.pageNode(pgId)
719+
p, n := b.pageNode(pgId)
720720

721721
// Execute function.
722722
fn(p, n, depth)
@@ -756,7 +756,7 @@ func (b *Bucket) spill() error {
756756

757757
// Update the child bucket header in this bucket.
758758
value = make([]byte, unsafe.Sizeof(common.InBucket{}))
759-
var bucket = (*common.InBucket)(unsafe.Pointer(&value[0]))
759+
bucket := (*common.InBucket)(unsafe.Pointer(&value[0]))
760760
*bucket = *child.InBucket
761761
}
762762

@@ -766,7 +766,7 @@ func (b *Bucket) spill() error {
766766
}
767767

768768
// Update parent node.
769-
var c = b.Cursor()
769+
c := b.Cursor()
770770
k, _, flags := c.seek([]byte(name))
771771
if !bytes.Equal([]byte(name), k) {
772772
panic(fmt.Sprintf("misplaced bucket header: %x -> %x", []byte(name), k))
@@ -800,7 +800,7 @@ func (b *Bucket) spill() error {
800800
// inlineable returns true if a bucket is small enough to be written inline
801801
// and if it contains no subbuckets. Otherwise, returns false.
802802
func (b *Bucket) inlineable() bool {
803-
var n = b.rootNode
803+
n := b.rootNode
804804

805805
// Bucket must only contain a single leaf node.
806806
if n == nil || !n.isLeaf {
@@ -809,7 +809,7 @@ func (b *Bucket) inlineable() bool {
809809

810810
// Bucket is not inlineable if it contains subbuckets or if it goes beyond
811811
// our threshold for inline bucket size.
812-
var size = common.PageHeaderSize
812+
size := common.PageHeaderSize
813813
for _, inode := range n.inodes {
814814
size += common.LeafPageElementSize + uintptr(len(inode.Key())) + uintptr(len(inode.Value()))
815815

@@ -831,15 +831,15 @@ func (b *Bucket) maxInlineBucketSize() uintptr {
831831
// write allocates and writes a bucket to a byte slice.
832832
func (b *Bucket) write() []byte {
833833
// Allocate the appropriate size.
834-
var n = b.rootNode
835-
var value = make([]byte, common.BucketHeaderSize+n.size())
834+
n := b.rootNode
835+
value := make([]byte, common.BucketHeaderSize+n.size())
836836

837837
// Write a bucket header.
838-
var bucket = (*common.InBucket)(unsafe.Pointer(&value[0]))
838+
bucket := (*common.InBucket)(unsafe.Pointer(&value[0]))
839839
*bucket = *b.InBucket
840840

841841
// Convert byte slice to a fake page and write the root node.
842-
var p = (*common.Page)(unsafe.Pointer(&value[common.BucketHeaderSize]))
842+
p := (*common.Page)(unsafe.Pointer(&value[common.BucketHeaderSize]))
843843
n.write(p)
844844

845845
return value
@@ -873,7 +873,7 @@ func (b *Bucket) node(pgId common.Pgid, parent *node) *node {
873873
}
874874

875875
// Use the inline page if this is an inline bucket.
876-
var p = b.page
876+
p := b.page
877877
if p == nil {
878878
p = b.tx.page(pgId)
879879
} else {
@@ -900,7 +900,7 @@ func (b *Bucket) free() {
900900
return
901901
}
902902

903-
var tx = b.tx
903+
tx := b.tx
904904
b.forEachPageNode(func(p *common.Page, n *node, _ int) {
905905
if p != nil {
906906
tx.db.freelist.Free(tx.meta.Txid(), p)
@@ -993,7 +993,7 @@ func (s *BucketStats) Add(other BucketStats) {
993993

994994
// cloneBytes returns a copy of a given slice.
995995
func cloneBytes(v []byte) []byte {
996-
var clone = make([]byte, len(v))
996+
clone := make([]byte, len(v))
997997
copy(clone, v)
998998
return clone
999999
}

bucket_test.go

+18-12
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,7 @@ func TestBucket_Nested(t *testing.T) {
509509

510510
// Cause a split.
511511
if err := db.Update(func(tx *bolt.Tx) error {
512-
var b = tx.Bucket([]byte("widgets"))
512+
b := tx.Bucket([]byte("widgets"))
513513
for i := 0; i < 10000; i++ {
514514
if err := b.Put([]byte(strconv.Itoa(i)), []byte(strconv.Itoa(i))); err != nil {
515515
t.Fatal(err)
@@ -523,7 +523,7 @@ func TestBucket_Nested(t *testing.T) {
523523

524524
// Insert into widgets/foo/baz.
525525
if err := db.Update(func(tx *bolt.Tx) error {
526-
var b = tx.Bucket([]byte("widgets"))
526+
b := tx.Bucket([]byte("widgets"))
527527
if err := b.Bucket([]byte("foo")).Put([]byte("baz"), []byte("yyyy")); err != nil {
528528
t.Fatal(err)
529529
}
@@ -535,7 +535,7 @@ func TestBucket_Nested(t *testing.T) {
535535

536536
// Verify.
537537
if err := db.View(func(tx *bolt.Tx) error {
538-
var b = tx.Bucket([]byte("widgets"))
538+
b := tx.Bucket([]byte("widgets"))
539539
if v := b.Bucket([]byte("foo")).Get([]byte("baz")); !bytes.Equal(v, []byte("yyyy")) {
540540
t.Fatalf("unexpected value: %v", v)
541541
}
@@ -1283,7 +1283,8 @@ func TestBucket_Stats(t *testing.T) {
12831283
1*10 + 2*90 + 3*400 + longKeyLength, // leaf values: 10 * 1digit, 90*2digits, ...
12841284
BucketN: 1,
12851285
InlineBucketN: 0,
1286-
InlineBucketInuse: 0},
1286+
InlineBucketInuse: 0,
1287+
},
12871288
16384: {
12881289
BranchPageN: 1,
12891290
BranchOverflowN: 0,
@@ -1301,7 +1302,8 @@ func TestBucket_Stats(t *testing.T) {
13011302
1*10 + 2*90 + 3*400 + longKeyLength, // leaf values: 10 * 1digit, 90*2digits, ...
13021303
BucketN: 1,
13031304
InlineBucketN: 0,
1304-
InlineBucketInuse: 0},
1305+
InlineBucketInuse: 0,
1306+
},
13051307
65536: {
13061308
BranchPageN: 1,
13071309
BranchOverflowN: 0,
@@ -1319,7 +1321,8 @@ func TestBucket_Stats(t *testing.T) {
13191321
1*10 + 2*90 + 3*400 + longKeyLength, // leaf values: 10 * 1digit, 90*2digits, ...
13201322
BucketN: 1,
13211323
InlineBucketN: 0,
1322-
InlineBucketInuse: 0},
1324+
InlineBucketInuse: 0,
1325+
},
13231326
}
13241327

13251328
if err := db.View(func(tx *bolt.Tx) error {
@@ -1775,7 +1778,8 @@ func TestBucket_Stats_Large(t *testing.T) {
17751778
LeafInuse: 2596916,
17761779
BucketN: 1,
17771780
InlineBucketN: 0,
1778-
InlineBucketInuse: 0},
1781+
InlineBucketInuse: 0,
1782+
},
17791783
16384: {
17801784
BranchPageN: 1,
17811785
BranchOverflowN: 0,
@@ -1789,7 +1793,8 @@ func TestBucket_Stats_Large(t *testing.T) {
17891793
LeafInuse: 2582452,
17901794
BucketN: 1,
17911795
InlineBucketN: 0,
1792-
InlineBucketInuse: 0},
1796+
InlineBucketInuse: 0,
1797+
},
17931798
65536: {
17941799
BranchPageN: 1,
17951800
BranchOverflowN: 0,
@@ -1803,7 +1808,8 @@ func TestBucket_Stats_Large(t *testing.T) {
18031808
LeafInuse: 2578948,
18041809
BucketN: 1,
18051810
InlineBucketN: 0,
1806-
InlineBucketInuse: 0},
1811+
InlineBucketInuse: 0,
1812+
},
18071813
}
18081814

18091815
if err := db.View(func(tx *bolt.Tx) error {
@@ -2021,7 +2027,7 @@ func BenchmarkBucket_CreateBucketIfNotExists(b *testing.B) {
20212027

20222028
func ExampleBucket_Put() {
20232029
// Open the database.
2024-
db, err := bolt.Open(tempfile(), 0600, nil)
2030+
db, err := bolt.Open(tempfile(), 0o600, nil)
20252031
if err != nil {
20262032
log.Fatal(err)
20272033
}
@@ -2064,7 +2070,7 @@ func ExampleBucket_Put() {
20642070

20652071
func ExampleBucket_Delete() {
20662072
// Open the database.
2067-
db, err := bolt.Open(tempfile(), 0600, nil)
2073+
db, err := bolt.Open(tempfile(), 0o600, nil)
20682074
if err != nil {
20692075
log.Fatal(err)
20702076
}
@@ -2122,7 +2128,7 @@ func ExampleBucket_Delete() {
21222128

21232129
func ExampleBucket_ForEach() {
21242130
// Open the database.
2125-
db, err := bolt.Open(tempfile(), 0600, nil)
2131+
db, err := bolt.Open(tempfile(), 0o600, nil)
21262132
if err != nil {
21272133
log.Fatal(err)
21282134
}

cmd/bbolt/command_check.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ func checkFunc(cmd *cobra.Command, dbPath string, cfg checkOptions) error {
3939
}
4040

4141
// Open database.
42-
db, err := bolt.Open(dbPath, 0600, &bolt.Options{
42+
db, err := bolt.Open(dbPath, 0o600, &bolt.Options{
4343
ReadOnly: true,
4444
PreLoadFreelist: true,
4545
})

cmd/bbolt/command_check_test.go

-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ func TestCheckCommand_Run(t *testing.T) {
4141

4242
for _, tc := range testCases {
4343
t.Run(tc.name, func(t *testing.T) {
44-
4544
t.Log("Creating sample DB")
4645
db := btesting.MustCreateDB(t)
4746
db.Close()

cmd/bbolt/command_inspect.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ func inspectFunc(srcDBPath string) error {
2828
return err
2929
}
3030

31-
db, err := bolt.Open(srcDBPath, 0600, &bolt.Options{ReadOnly: true})
31+
db, err := bolt.Open(srcDBPath, 0o600, &bolt.Options{ReadOnly: true})
3232
if err != nil {
3333
return err
3434
}

cmd/bbolt/command_surgery.go

+1-3
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,7 @@ import (
1313
"go.etcd.io/bbolt/internal/surgeon"
1414
)
1515

16-
var (
17-
ErrSurgeryFreelistAlreadyExist = errors.New("the file already has freelist, please consider to abandon the freelist to forcibly rebuild it")
18-
)
16+
var ErrSurgeryFreelistAlreadyExist = errors.New("the file already has freelist, please consider to abandon the freelist to forcibly rebuild it")
1917

2018
func newSurgeryCommand() *cobra.Command {
2119
surgeryCmd := &cobra.Command{

0 commit comments

Comments
 (0)