Skip to content

Commit 1474864

Browse files
*: enable more linters (#8742)
ref #4399 Signed-off-by: Ryan Leung <[email protected]> Co-authored-by: ti-chi-bot[bot] <108142056+ti-chi-bot[bot]@users.noreply.github.com>
1 parent 988c9a3 commit 1474864

File tree

199 files changed

+600
-585
lines changed

Some content is hidden

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

199 files changed

+600
-585
lines changed

Diff for: .golangci.yml

+15
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,16 @@ linters:
1818
- copyloopvar
1919
- goimports
2020
- depguard
21+
- asasalint
22+
- asciicheck
23+
- bidichk
24+
- durationcheck
25+
- gocheckcompilerdirectives
26+
- gochecksumtype
27+
- makezero
28+
- protogetter
29+
- reassign
30+
- intrange
2131
linters-settings:
2232
gocritic:
2333
# Which checks should be disabled; can't be combined with 'enabled-checks'; default is empty
@@ -36,16 +46,21 @@ linters-settings:
3646
- G115
3747
testifylint:
3848
enable:
49+
- blank-import
3950
- bool-compare
4051
- compares
4152
- empty
4253
- error-is-as
4354
- error-nil
4455
- expected-actual
56+
- formatter
4557
- len
58+
- negative-positive
4659
- require-error
4760
- suite-dont-use-pkg
4861
- suite-extra-assert-call
62+
- suite-subtest-run
63+
- useless-assert
4964
disable:
5065
- float-compare
5166
- go-require

Diff for: client/client.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -739,7 +739,7 @@ func (c *client) dispatchTSORequestWithRetry(ctx context.Context, dcLocation str
739739
err error
740740
req *tsoRequest
741741
)
742-
for i := 0; i < dispatchRetryCount; i++ {
742+
for i := range dispatchRetryCount {
743743
// Do not delay for the first time.
744744
if i > 0 {
745745
time.Sleep(dispatchRetryDelay)

Diff for: client/pd_service_discovery.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -354,7 +354,7 @@ func (c *pdServiceBalancer) set(clients []ServiceClient) {
354354
func (c *pdServiceBalancer) check() {
355355
c.mu.Lock()
356356
defer c.mu.Unlock()
357-
for i := 0; i < c.totalNode; i++ {
357+
for range c.totalNode {
358358
c.now.markAsAvailable()
359359
c.next()
360360
}
@@ -523,7 +523,7 @@ func (c *pdServiceDiscovery) initRetry(f func() error) error {
523523
var err error
524524
ticker := time.NewTicker(time.Second)
525525
defer ticker.Stop()
526-
for i := 0; i < c.option.maxRetryTimes; i++ {
526+
for range c.option.maxRetryTimes {
527527
if err = f(); err == nil {
528528
return nil
529529
}
@@ -1093,7 +1093,7 @@ func (c *pdServiceDiscovery) updateServiceClient(members []*pdpb.Member, leader
10931093
})
10941094
c.all.Store(clients)
10951095
// create candidate services for all kinds of request.
1096-
for i := 0; i < int(apiKindCount); i++ {
1096+
for i := range apiKindCount {
10971097
c.apiCandidateNodes[i].set(clients)
10981098
}
10991099
return err

Diff for: client/pd_service_discovery_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ func (suite *serviceClientTestSuite) SetupSuite() {
137137
suite.followerServer = newTestServer(false)
138138
go suite.leaderServer.run()
139139
go suite.followerServer.run()
140-
for i := 0; i < 10; i++ {
140+
for range 10 {
141141
leaderConn, err1 := grpc.Dial(suite.leaderServer.addr, grpc.WithTransportCredentials(insecure.NewCredentials()))
142142
followerConn, err2 := grpc.Dial(suite.followerServer.addr, grpc.WithTransportCredentials(insecure.NewCredentials()))
143143
if err1 == nil && err2 == nil {
@@ -278,7 +278,7 @@ func (suite *serviceClientTestSuite) TestServiceClientBalancer() {
278278
b.set([]ServiceClient{leader, follower})
279279
re.Equal(2, b.totalNode)
280280

281-
for i := 0; i < 10; i++ {
281+
for range 10 {
282282
client := b.get()
283283
ctx := client.BuildGRPCTargetContext(suite.ctx, false)
284284
conn := client.GetClientConn()
@@ -292,7 +292,7 @@ func (suite *serviceClientTestSuite) TestServiceClientBalancer() {
292292
suite.followerServer.server.resetCount()
293293
suite.leaderServer.server.resetCount()
294294

295-
for i := 0; i < 10; i++ {
295+
for range 10 {
296296
client := b.get()
297297
ctx := client.BuildGRPCTargetContext(suite.ctx, true)
298298
conn := client.GetClientConn()

Diff for: client/resource_group/controller/controller.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1347,7 +1347,7 @@ func (gc *groupCostController) acquireTokens(ctx context.Context, delta *rmpb.Co
13471347
d time.Duration
13481348
)
13491349
retryLoop:
1350-
for i := 0; i < gc.mainCfg.WaitRetryTimes; i++ {
1350+
for range gc.mainCfg.WaitRetryTimes {
13511351
now := time.Now()
13521352
switch gc.mode {
13531353
case rmpb.GroupMode_RawMode:

Diff for: client/resource_group/controller/limiter_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ func testQPSCase(concurrency int, reserveN int64, limit int64) (qps float64, ru
246246
var totalRequests int64
247247
start := time.Now()
248248

249-
for i := 0; i < concurrency; i++ {
249+
for range concurrency {
250250
wg.Add(1)
251251
go func() {
252252
defer wg.Done()

Diff for: client/resource_manager_client.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -382,7 +382,7 @@ func (c *client) tryResourceManagerConnect(ctx context.Context, connection *reso
382382
)
383383
ticker := time.NewTicker(retryInterval)
384384
defer ticker.Stop()
385-
for i := 0; i < maxRetryTimes; i++ {
385+
for range maxRetryTimes {
386386
cc, err := c.resourceManagerClient()
387387
if err != nil {
388388
continue
@@ -406,7 +406,7 @@ func (c *client) tryResourceManagerConnect(ctx context.Context, connection *reso
406406
}
407407

408408
func (tbc *tokenBatchController) revokePendingTokenRequest(err error) {
409-
for i := 0; i < len(tbc.tokenRequestCh); i++ {
409+
for range len(tbc.tokenRequestCh) {
410410
req := <-tbc.tokenRequestCh
411411
req.done <- err
412412
}

Diff for: client/retry/backoff_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ func TestBackoffer(t *testing.T) {
7070
bo = InitialBackoffer(base, max, total)
7171
re.Equal(bo.nextInterval(), base)
7272
re.Equal(bo.nextInterval(), 2*base)
73-
for i := 0; i < 10; i++ {
73+
for range 10 {
7474
re.LessOrEqual(bo.nextInterval(), max)
7575
}
7676
re.Equal(bo.nextInterval(), max)

Diff for: client/testutil/tempurl.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ var (
3131

3232
// Alloc allocates a local URL for testing.
3333
func Alloc() string {
34-
for i := 0; i < 10; i++ {
34+
for range 10 {
3535
if u := tryAllocTestURL(); u != "" {
3636
return u
3737
}

Diff for: client/timerpool/pool_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import (
1414
func TestTimerPool(t *testing.T) {
1515
var tp TimerPool
1616

17-
for i := 0; i < 100; i++ {
17+
for range 100 {
1818
timer := tp.Get(20 * time.Millisecond)
1919

2020
select {

Diff for: client/tso_batch_controller.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ func (tbc *tsoBatchController) adjustBestBatchSize() {
211211
}
212212

213213
func (tbc *tsoBatchController) finishCollectedRequests(physical, firstLogical int64, suffixBits uint32, streamID string, err error) {
214-
for i := 0; i < tbc.collectedRequestCount; i++ {
214+
for i := range tbc.collectedRequestCount {
215215
tsoReq := tbc.collectedRequests[i]
216216
// Retrieve the request context before the request is done to trace without race.
217217
requestCtx := tsoReq.requestCtx

Diff for: client/tso_client.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,7 @@ func (c *tsoClient) backupClientConn() (*grpc.ClientConn, string) {
329329
cc *grpc.ClientConn
330330
err error
331331
)
332-
for i := 0; i < len(urls); i++ {
332+
for range urls {
333333
url := urls[rand.Intn(len(urls))]
334334
if cc, err = c.svcDiscovery.GetOrCreateGRPCConn(url); err != nil {
335335
continue
@@ -403,7 +403,7 @@ func (c *tsoClient) tryConnectToTSO(
403403
ticker := time.NewTicker(retryInterval)
404404
defer ticker.Stop()
405405
// Retry several times before falling back to the follower when the network problem happens
406-
for i := 0; i < maxRetryTimes; i++ {
406+
for range maxRetryTimes {
407407
c.svcDiscovery.ScheduleCheckMemberChanged()
408408
cc, url = c.GetTSOAllocatorClientConnByDCLocation(dc)
409409
if _, ok := connectionCtxs.Load(url); ok {

Diff for: client/tso_dispatcher.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ func (td *tsoDispatcher) scheduleUpdateConnectionCtxs() {
168168
}
169169

170170
func (td *tsoDispatcher) revokePendingRequests(err error) {
171-
for i := 0; i < len(td.tsoRequestCh); i++ {
171+
for range len(td.tsoRequestCh) {
172172
req := <-td.tsoRequestCh
173173
req.tryDone(err)
174174
}

Diff for: client/tso_dispatcher_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ func (s *testTSODispatcherSuite) testStaticConcurrencyImpl(concurrency int) {
231231
// and will be batched together once there is a free token.
232232
reqs := make([]*tsoRequest, 0, tokenCount+3)
233233

234-
for i := 0; i < tokenCount+3; i++ {
234+
for range tokenCount + 3 {
235235
req := s.sendReq(ctx)
236236
s.reqMustNotReady(req)
237237
reqs = append(reqs, req)
@@ -242,7 +242,7 @@ func (s *testTSODispatcherSuite) testStaticConcurrencyImpl(concurrency int) {
242242
// second batch but not finished yet.
243243
// Also note that in current implementation, the tsoStream tries to receive the next result before checking
244244
// the `tsoStream.pendingRequests` queue. Changing this behavior may need to update this test.
245-
for i := 0; i < tokenCount+3; i++ {
245+
for i := range tokenCount + 3 {
246246
expectedPending := tokenCount + 1 - i
247247
if expectedPending > tokenCount {
248248
expectedPending = tokenCount

Diff for: client/tso_service_discovery.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ func (c *tsoServiceDiscovery) retry(
211211
var err error
212212
ticker := time.NewTicker(retryInterval)
213213
defer ticker.Stop()
214-
for i := 0; i < maxRetryTimes; i++ {
214+
for range maxRetryTimes {
215215
if err = f(); err == nil {
216216
return nil
217217
}

Diff for: client/tso_stream_test.go

+5-5
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,7 @@ func (s *testTSOStreamSuite) TestTSOStreamBasic() {
366366
func (s *testTSOStreamSuite) testTSOStreamBrokenImpl(err error, pendingRequests int) {
367367
var resultCh []<-chan callbackInvocation
368368

369-
for i := 0; i < pendingRequests; i++ {
369+
for range pendingRequests {
370370
ch := s.mustProcessRequestWithResultCh(1)
371371
resultCh = append(resultCh, ch)
372372
s.noResult(ch)
@@ -414,7 +414,7 @@ func (s *testTSOStreamSuite) TestTSOStreamCanceledWithPendingReq() {
414414
func (s *testTSOStreamSuite) TestTSOStreamFIFO() {
415415
var resultChs []<-chan callbackInvocation
416416
const count = 5
417-
for i := 0; i < count; i++ {
417+
for i := range count {
418418
ch := s.mustProcessRequestWithResultCh(int64(i + 1))
419419
resultChs = append(resultChs, ch)
420420
}
@@ -423,7 +423,7 @@ func (s *testTSOStreamSuite) TestTSOStreamFIFO() {
423423
s.noResult(ch)
424424
}
425425

426-
for i := 0; i < count; i++ {
426+
for i := range count {
427427
s.inner.returnResult(int64((i+1)*10), int64(i), uint32(i+1))
428428
}
429429

@@ -505,7 +505,7 @@ func (s *testTSOStreamSuite) TestEstimatedLatency() {
505505
reqStartTimeCh := make(chan time.Time, maxPendingRequestsInTSOStream)
506506
// Limit concurrent requests to be less than the capacity of tsoStream.pendingRequests.
507507
tokenCh := make(chan struct{}, maxPendingRequestsInTSOStream-1)
508-
for i := 0; i < 40; i++ {
508+
for range 40 {
509509
tokenCh <- struct{}{}
510510
}
511511
// Return a result after 50ms delay for each requests
@@ -594,7 +594,7 @@ func TestRCFilter(t *testing.T) {
594594
re.Equal(0.0, f.update(now, 0))
595595
lastOutput := 0.0
596596
// 10000 even samples in 1 second.
597-
for i := 0; i < 10000; i++ {
597+
for range 10000 {
598598
now = now.Add(time.Microsecond * 100)
599599
output := f.update(now, 1.0)
600600
re.Greater(output, lastOutput)

Diff for: pkg/autoscaling/prometheus_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ var podNameTemplate = map[ComponentType]string{
4949
func generatePodNames(component ComponentType) []string {
5050
names := make([]string, 0, instanceCount)
5151
pattern := podNameTemplate[component]
52-
for i := 0; i < instanceCount; i++ {
52+
for i := range instanceCount {
5353
names = append(names, fmt.Sprintf(pattern, mockClusterName, i))
5454
}
5555
return names
@@ -119,7 +119,7 @@ func (c *normalClient) buildCPUMockData(component ComponentType) {
119119
cpuQuotaQuery := cpuQuotaPromQLTemplate[component]
120120

121121
var results []result
122-
for i := 0; i < instanceCount; i++ {
122+
for i := range instanceCount {
123123
results = append(results, result{
124124
Value: []any{time.Now().Unix(), fmt.Sprintf("%f", mockResultValue)},
125125
Metric: metric{
@@ -192,7 +192,7 @@ func TestRetrieveCPUMetrics(t *testing.T) {
192192
options := NewQueryOptions(component, metric, addresses[:len(addresses)-1], time.Now(), mockDuration)
193193
result, err := querier.Query(options)
194194
re.NoError(err)
195-
for i := 0; i < len(addresses)-1; i++ {
195+
for i := range len(addresses) - 1 {
196196
value, ok := result[addresses[i]]
197197
re.True(ok)
198198
re.Less(math.Abs(value-mockResultValue), 1e-6)

Diff for: pkg/balancer/balancer_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ func TestBalancerPutAndDelete(t *testing.T) {
3030
re.Equal(uint32(0), balancer.Next())
3131
// test put
3232
exists := make(map[uint32]struct{})
33-
for i := 0; i < 100; i++ {
33+
for range 100 {
3434
num := rand.Uint32()
3535
balancer.Put(num)
3636
exists[num] = struct{}{}
@@ -77,12 +77,12 @@ func TestBalancerDuplicate(t *testing.T) {
7777
func TestRoundRobin(t *testing.T) {
7878
re := require.New(t)
7979
balancer := NewRoundRobin[uint32]()
80-
for i := 0; i < 100; i++ {
80+
for range 100 {
8181
num := rand.Uint32()
8282
balancer.Put(num)
8383
}
8484
statistics := make(map[uint32]int)
85-
for i := 0; i < 1000; i++ {
85+
for range 1000 {
8686
statistics[balancer.Next()]++
8787
}
8888
min := 1000

Diff for: pkg/btree/btree_generic_test.go

+8-8
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ func perm(n int) (out []Int) {
5050

5151
// rang returns an ordered list of Int items in the range [0, n).
5252
func rang(n int) (out []Int) {
53-
for i := 0; i < n; i++ {
53+
for i := range n {
5454
out = append(out, Int(i))
5555
}
5656
return
@@ -101,10 +101,10 @@ func TestBTreeSizeInfo(t *testing.T) {
101101
max, _ := tr.Max()
102102
assertEq(t, "check max", tr.GetAt(tr.Len()-1), max)
103103
}
104-
for k := 0; k < treeSize; k++ {
104+
for k := range treeSize {
105105
assertEq(t, "get k-th", tr.GetAt(k), Int(k))
106106
}
107-
for x := Int(0); x < treeSize; x++ {
107+
for x := range Int(treeSize) {
108108
y, rk := tr.GetWithIndex(x)
109109
assertEq(t, "get", y, x)
110110
assertEq(t, "get rank", rk, int(x))
@@ -128,10 +128,10 @@ func TestBTreeSizeInfo(t *testing.T) {
128128
max, _ := tr.Max()
129129
assertEq(t, "after delete check max", tr.GetAt(tr.Len()-1), max)
130130
}
131-
for k := 0; k < treeSize/3; k++ {
131+
for k := range treeSize / 3 {
132132
assertEq(t, "after delete get k-th", tr.GetAt(k), Int(3*k))
133133
}
134-
for x := Int(0); x < treeSize; x++ {
134+
for x := range Int(treeSize) {
135135
y, rk := tr.GetWithIndex(x)
136136
if x%3 == 0 {
137137
assertEq(t, "after delete get", y, x)
@@ -169,7 +169,7 @@ func TestBTreeSizeInfo(t *testing.T) {
169169
func TestBTreeG(t *testing.T) {
170170
tr := NewG[Int](*btreeDegree)
171171
const treeSize = 10000
172-
for i := 0; i < 10; i++ {
172+
for range 10 {
173173
if min, found := tr.Min(); found {
174174
t.Fatalf("empty min, got %+v", min)
175175
}
@@ -281,7 +281,7 @@ func TestDeleteMaxG(t *testing.T) {
281281
got = append(got, v)
282282
}
283283
// Reverse our list.
284-
for i := 0; i < len(got)/2; i++ {
284+
for i := range len(got) / 2 {
285285
got[i], got[len(got)-i-1] = got[len(got)-i-1], got[i]
286286
}
287287
if want := rang(100); !reflect.DeepEqual(got, want) {
@@ -786,7 +786,7 @@ func TestCloneConcurrentOperationsG(t *testing.T) {
786786
}
787787
t.Log("Removing half from first half")
788788
toRemove := rang(cloneTestSize)[cloneTestSize/2:]
789-
for i := 0; i < len(trees)/2; i++ {
789+
for i := range len(trees) / 2 {
790790
tree := trees[i]
791791
wg.Add(1)
792792
go func() {

Diff for: pkg/cgroup/cgroup_cpu_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ func TestGetCgroupCPU(t *testing.T) {
6767
re := require.New(t)
6868
exit := make(chan struct{})
6969
var wg sync.WaitGroup
70-
for i := 0; i < 10; i++ {
70+
for range 10 {
7171
wg.Add(1)
7272
go func() {
7373
defer wg.Done()

0 commit comments

Comments
 (0)