Skip to content

Commit 33016b5

Browse files
authored
style: use t.Context() (ava-labs#1372)
1 parent a3a4755 commit 33016b5

26 files changed

+505
-505
lines changed

.avalanche-golangci.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ linters:
8282
- unparam
8383
- unused
8484
- usestdlibvars
85+
- usetesting
8586
- whitespace
8687
settings:
8788
depguard:
@@ -228,6 +229,14 @@ linters:
228229
# Mark all local variables as used.
229230
# default: true
230231
local-variables-are-used: false
232+
usetesting:
233+
os-create-temp: true # Disallow `os.CreateTemp("", ...)`
234+
os-mkdir-temp: true # Disallow `os.MkdirTemp()`
235+
os-setenv: true # Disallow `os.Setenv()`
236+
os-temp-dir: true # Disallow `os.TempDir()`
237+
os-chdir: true # Disallow `os.Chdir()`
238+
context-background: true # Disallow `context.Background()`
239+
context-todo: true # Disallow `context.TODO()`
231240
exclusions:
232241
generated: lax
233242
presets:

eth/gasprice/fee_info_provider_test.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
package gasprice
55

66
import (
7-
"context"
87
"math/big"
98
"sync"
109
"testing"
@@ -52,7 +51,7 @@ func TestFeeInfoProviderCacheSize(t *testing.T) {
5251
// to test eviction behavior.
5352
for i := 0; i < size+feeCacheExtraSlots+overflow; i++ {
5453
header := &types.Header{Number: big.NewInt(int64(i))}
55-
_, err := f.addHeader(context.Background(), header, []*types.Transaction{})
54+
_, err := f.addHeader(t.Context(), header, []*types.Transaction{})
5655
require.NoError(t, err)
5756
}
5857

internal/ethapi/api.coreth_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ func TestSuggestPriceOptions(t *testing.T) {
162162
}
163163
api := NewEthereumAPI(backend)
164164

165-
got, err := api.SuggestPriceOptions(context.Background())
165+
got, err := api.SuggestPriceOptions(t.Context())
166166
require.NoError(err)
167167
require.Equal(test.want, got)
168168
})

internal/ethapi/api_extra_test.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
package ethapi
55

66
import (
7-
"context"
87
"errors"
98
"math/big"
109
"os"
@@ -47,7 +46,7 @@ func TestBlockchainAPI_GetChainConfig(t *testing.T) {
4746

4847
api := NewBlockChainAPI(backend)
4948

50-
gotConfig := api.GetChainConfig(context.Background())
49+
gotConfig := api.GetChainConfig(t.Context())
5150
assert.Equal(t, wantConfig, gotConfig)
5251
}
5352

@@ -77,7 +76,7 @@ func TestBlockchainAPI_CallDetailed(t *testing.T) {
7776
}))
7877

7978
result, err := api.CallDetailed(
80-
context.Background(),
79+
t.Context(),
8180
TransactionArgs{
8281
From: &accounts[0].addr,
8382
To: &accounts[1].addr,

network/network_test.go

Lines changed: 49 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ func TestNetworkDoesNotConnectToItself(t *testing.T) {
5757
ctx := snowtest.Context(t, snowtest.CChainID)
5858
n, err := NewNetwork(ctx, nil, nil, 1, prometheus.NewRegistry())
5959
require.NoError(t, err)
60-
require.NoError(t, n.Connected(context.Background(), ctx.NodeID, defaultPeerVersion))
60+
require.NoError(t, n.Connected(t.Context(), ctx.NodeID, defaultPeerVersion))
6161
require.Zero(t, n.Size())
6262
}
6363

@@ -71,7 +71,7 @@ func TestRequestAnyRequestsRoutingAndResponse(t *testing.T) {
7171
senderWg.Add(1)
7272
go func() {
7373
defer senderWg.Done()
74-
if err := net.AppRequest(context.Background(), nodeID, requestID, time.Now().Add(5*time.Second), requestBytes); err != nil {
74+
if err := net.AppRequest(t.Context(), nodeID, requestID, time.Now().Add(5*time.Second), requestBytes); err != nil {
7575
panic(err)
7676
}
7777
}()
@@ -81,7 +81,7 @@ func TestRequestAnyRequestsRoutingAndResponse(t *testing.T) {
8181
senderWg.Add(1)
8282
go func() {
8383
defer senderWg.Done()
84-
if err := net.AppResponse(context.Background(), nodeID, requestID, responseBytes); err != nil {
84+
if err := net.AppResponse(t.Context(), nodeID, requestID, responseBytes); err != nil {
8585
panic(err)
8686
}
8787
atomic.AddUint32(&callNum, 1)
@@ -96,12 +96,12 @@ func TestRequestAnyRequestsRoutingAndResponse(t *testing.T) {
9696
require.NoError(t, err)
9797
net.SetRequestHandler(&HelloGreetingRequestHandler{codec: codecManager})
9898
nodeID := ids.GenerateTestNodeID()
99-
require.NoError(t, net.Connected(context.Background(), nodeID, defaultPeerVersion))
99+
require.NoError(t, net.Connected(t.Context(), nodeID, defaultPeerVersion))
100100

101101
requestMessage := HelloRequest{Message: "this is a request"}
102102

103103
defer net.Shutdown()
104-
require.NoError(t, net.Connected(context.Background(), nodeID, defaultPeerVersion))
104+
require.NoError(t, net.Connected(t.Context(), nodeID, defaultPeerVersion))
105105

106106
totalRequests := 5000
107107
numCallsPerRequest := 1 // on sending response
@@ -114,7 +114,7 @@ func TestRequestAnyRequestsRoutingAndResponse(t *testing.T) {
114114
defer wg.Done()
115115
requestBytes, err := message.RequestToBytes(codecManager, requestMessage)
116116
assert.NoError(t, err)
117-
responseBytes, _, err := net.SendSyncedAppRequestAny(context.Background(), defaultPeerVersion, requestBytes)
117+
responseBytes, _, err := net.SendSyncedAppRequestAny(t.Context(), defaultPeerVersion, requestBytes)
118118
assert.NoError(t, err)
119119
assert.NotNil(t, responseBytes)
120120

@@ -153,7 +153,7 @@ func TestAppRequestOnCtxCancellation(t *testing.T) {
153153
require.NoError(t, err)
154154

155155
nodeID := ids.GenerateTestNodeID()
156-
ctx, cancel := context.WithCancel(context.Background())
156+
ctx, cancel := context.WithCancel(t.Context())
157157
// cancel context prior to sending
158158
cancel()
159159
err = net.SendAppRequest(ctx, nodeID, requestBytes, nil)
@@ -175,7 +175,7 @@ func TestRequestRequestsRoutingAndResponse(t *testing.T) {
175175
senderWg.Add(1)
176176
go func() {
177177
defer senderWg.Done()
178-
if err := net.AppRequest(context.Background(), nodeID, requestID, time.Now().Add(5*time.Second), requestBytes); err != nil {
178+
if err := net.AppRequest(t.Context(), nodeID, requestID, time.Now().Add(5*time.Second), requestBytes); err != nil {
179179
panic(err)
180180
}
181181
}()
@@ -185,7 +185,7 @@ func TestRequestRequestsRoutingAndResponse(t *testing.T) {
185185
senderWg.Add(1)
186186
go func() {
187187
defer senderWg.Done()
188-
if err := net.AppResponse(context.Background(), nodeID, requestID, responseBytes); err != nil {
188+
if err := net.AppResponse(t.Context(), nodeID, requestID, responseBytes); err != nil {
189189
panic(err)
190190
}
191191
atomic.AddUint32(&callNum, 1)
@@ -208,7 +208,7 @@ func TestRequestRequestsRoutingAndResponse(t *testing.T) {
208208
ids.GenerateTestNodeID(),
209209
}
210210
for _, nodeID := range nodes {
211-
require.NoError(t, net.Connected(context.Background(), nodeID, defaultPeerVersion))
211+
require.NoError(t, net.Connected(t.Context(), nodeID, defaultPeerVersion))
212212
}
213213

214214
requestMessage := HelloRequest{Message: "this is a request"}
@@ -228,7 +228,7 @@ func TestRequestRequestsRoutingAndResponse(t *testing.T) {
228228
defer wg.Done()
229229
requestBytes, err := message.RequestToBytes(codecManager, requestMessage)
230230
assert.NoError(t, err)
231-
responseBytes, err := net.SendSyncedAppRequest(context.Background(), nodeID, requestBytes)
231+
responseBytes, err := net.SendSyncedAppRequest(t.Context(), nodeID, requestBytes)
232232
assert.NoError(t, err)
233233
assert.NotNil(t, responseBytes)
234234

@@ -248,7 +248,7 @@ func TestRequestRequestsRoutingAndResponse(t *testing.T) {
248248
}
249249

250250
// ensure empty nodeID is not allowed
251-
err = net.SendAppRequest(context.Background(), ids.EmptyNodeID, []byte("hello there"), nil)
251+
err = net.SendAppRequest(t.Context(), ids.EmptyNodeID, []byte("hello there"), nil)
252252
require.ErrorIs(t, err, errEmptyNodeID)
253253
}
254254

@@ -276,17 +276,17 @@ func TestAppRequestOnShutdown(t *testing.T) {
276276
net, err := NewNetwork(ctx, sender, codecManager, 1, prometheus.NewRegistry())
277277
require.NoError(t, err)
278278
nodeID := ids.GenerateTestNodeID()
279-
require.NoError(t, net.Connected(context.Background(), nodeID, defaultPeerVersion))
279+
require.NoError(t, net.Connected(t.Context(), nodeID, defaultPeerVersion))
280280

281281
requestMessage := HelloRequest{Message: "this is a request"}
282-
require.NoError(t, net.Connected(context.Background(), nodeID, defaultPeerVersion))
282+
require.NoError(t, net.Connected(t.Context(), nodeID, defaultPeerVersion))
283283

284284
wg.Add(1)
285285
go func() {
286286
defer wg.Done()
287287
requestBytes, err := message.RequestToBytes(codecManager, requestMessage)
288288
assert.NoError(t, err)
289-
responseBytes, _, err := net.SendSyncedAppRequestAny(context.Background(), defaultPeerVersion, requestBytes)
289+
responseBytes, _, err := net.SendSyncedAppRequestAny(t.Context(), defaultPeerVersion, requestBytes)
290290
assert.ErrorIs(t, err, errRequestFailed)
291291
assert.Nil(t, responseBytes)
292292
}()
@@ -326,7 +326,7 @@ func TestSyncedAppRequestAnyOnCtxCancellation(t *testing.T) {
326326
net.SetRequestHandler(&HelloGreetingRequestHandler{codec: codecManager})
327327
require.NoError(t,
328328
net.Connected(
329-
context.Background(),
329+
t.Context(),
330330
ids.GenerateTestNodeID(),
331331
version.CurrentApp,
332332
),
@@ -337,7 +337,7 @@ func TestSyncedAppRequestAnyOnCtxCancellation(t *testing.T) {
337337
require.NoError(t, err)
338338

339339
// cancel context prior to sending
340-
ctx, cancel := context.WithCancel(context.Background())
340+
ctx, cancel := context.WithCancel(t.Context())
341341
cancel()
342342
_, _, err = net.SendSyncedAppRequestAny(ctx, defaultPeerVersion, requestBytes)
343343
require.ErrorIs(t, err, context.Canceled)
@@ -350,7 +350,7 @@ func TestSyncedAppRequestAnyOnCtxCancellation(t *testing.T) {
350350

351351
// Cancel context after sending
352352
require.Empty(t, net.(*network).outstandingRequestHandlers) // no outstanding requests
353-
ctx, cancel = context.WithCancel(context.Background())
353+
ctx, cancel = context.WithCancel(t.Context())
354354
doneChan := make(chan struct{})
355355
go func() {
356356
_, _, err = net.SendSyncedAppRequestAny(ctx, defaultPeerVersion, requestBytes)
@@ -366,7 +366,7 @@ func TestSyncedAppRequestAnyOnCtxCancellation(t *testing.T) {
366366
// Should still be able to process a response after cancelling.
367367
require.Len(t, net.(*network).outstandingRequestHandlers, 1) // context cancellation SendAppRequestAny failure doesn't clear
368368
require.NoError(t, net.AppResponse(
369-
context.Background(),
369+
t.Context(),
370370
sentAppRequestInfo.nodeID,
371371
sentAppRequestInfo.requestID,
372372
[]byte{}))
@@ -392,7 +392,7 @@ func TestRequestMinVersion(t *testing.T) {
392392
if err != nil {
393393
panic(err)
394394
}
395-
assert.NoError(t, net.AppResponse(context.Background(), nodeID, reqID, responseBytes))
395+
assert.NoError(t, net.AppResponse(t.Context(), nodeID, reqID, responseBytes))
396396
}()
397397
return nil
398398
},
@@ -407,7 +407,7 @@ func TestRequestMinVersion(t *testing.T) {
407407
require.NoError(t, err)
408408
require.NoError(t,
409409
net.Connected(
410-
context.Background(),
410+
t.Context(),
411411
nodeID,
412412
&version.Application{
413413
Name: version.Client,
@@ -420,7 +420,7 @@ func TestRequestMinVersion(t *testing.T) {
420420

421421
// ensure version does not match
422422
responseBytes, _, err := net.SendSyncedAppRequestAny(
423-
context.Background(),
423+
t.Context(),
424424
&version.Application{
425425
Name: version.Client,
426426
Major: 2,
@@ -433,7 +433,7 @@ func TestRequestMinVersion(t *testing.T) {
433433
require.Nil(t, responseBytes)
434434

435435
// ensure version matches and the request goes through
436-
responseBytes, _, err = net.SendSyncedAppRequestAny(context.Background(), defaultPeerVersion, requestBytes)
436+
responseBytes, _, err = net.SendSyncedAppRequestAny(t.Context(), defaultPeerVersion, requestBytes)
437437
require.NoError(t, err)
438438

439439
var response TestMessage
@@ -471,12 +471,12 @@ func TestOnRequestHonoursDeadline(t *testing.T) {
471471

472472
requestHandler.response, err = marshalStruct(codecManager, TestMessage{Message: "hi there"})
473473
require.NoError(t, err)
474-
require.NoError(t, net.AppRequest(context.Background(), nodeID, 0, time.Now().Add(1*time.Millisecond), requestBytes))
474+
require.NoError(t, net.AppRequest(t.Context(), nodeID, 0, time.Now().Add(1*time.Millisecond), requestBytes))
475475
// ensure the handler didn't get called (as peer.Network would've dropped the request)
476476
require.Zero(t, requestHandler.calls)
477477

478478
requestHandler.processingDuration = 0
479-
require.NoError(t, net.AppRequest(context.Background(), nodeID, 2, time.Now().Add(250*time.Millisecond), requestBytes))
479+
require.NoError(t, net.AppRequest(t.Context(), nodeID, 2, time.Now().Add(250*time.Millisecond), requestBytes))
480480
require.True(t, responded)
481481
require.Equal(t, uint32(1), requestHandler.calls)
482482
}
@@ -495,7 +495,7 @@ func TestHandleInvalidMessages(t *testing.T) {
495495
require.NoError(t, err)
496496
clientNetwork.SetRequestHandler(&testRequestHandler{})
497497

498-
require.NoError(t, clientNetwork.Connected(context.Background(), nodeID, defaultPeerVersion))
498+
require.NoError(t, clientNetwork.Connected(t.Context(), nodeID, defaultPeerVersion))
499499

500500
defer clientNetwork.Shutdown()
501501

@@ -516,30 +516,30 @@ func TestHandleInvalidMessages(t *testing.T) {
516516
var nilResponse []byte
517517

518518
// Check for edge cases
519-
require.NoError(t, clientNetwork.AppGossip(context.Background(), nodeID, gossipMsg))
520-
require.NoError(t, clientNetwork.AppGossip(context.Background(), nodeID, requestMessage))
521-
require.NoError(t, clientNetwork.AppGossip(context.Background(), nodeID, garbageResponse))
522-
require.NoError(t, clientNetwork.AppGossip(context.Background(), nodeID, emptyResponse))
523-
require.NoError(t, clientNetwork.AppGossip(context.Background(), nodeID, nilResponse))
524-
require.NoError(t, clientNetwork.AppRequest(context.Background(), nodeID, requestID, time.Now().Add(time.Second), gossipMsg))
525-
require.NoError(t, clientNetwork.AppRequest(context.Background(), nodeID, requestID, time.Now().Add(time.Second), requestMessage))
526-
require.NoError(t, clientNetwork.AppRequest(context.Background(), nodeID, requestID, time.Now().Add(time.Second), garbageResponse))
527-
require.NoError(t, clientNetwork.AppRequest(context.Background(), nodeID, requestID, time.Now().Add(time.Second), emptyResponse))
528-
require.NoError(t, clientNetwork.AppRequest(context.Background(), nodeID, requestID, time.Now().Add(time.Second), nilResponse))
529-
530-
err = clientNetwork.AppResponse(context.Background(), nodeID, requestID, gossipMsg)
519+
require.NoError(t, clientNetwork.AppGossip(t.Context(), nodeID, gossipMsg))
520+
require.NoError(t, clientNetwork.AppGossip(t.Context(), nodeID, requestMessage))
521+
require.NoError(t, clientNetwork.AppGossip(t.Context(), nodeID, garbageResponse))
522+
require.NoError(t, clientNetwork.AppGossip(t.Context(), nodeID, emptyResponse))
523+
require.NoError(t, clientNetwork.AppGossip(t.Context(), nodeID, nilResponse))
524+
require.NoError(t, clientNetwork.AppRequest(t.Context(), nodeID, requestID, time.Now().Add(time.Second), gossipMsg))
525+
require.NoError(t, clientNetwork.AppRequest(t.Context(), nodeID, requestID, time.Now().Add(time.Second), requestMessage))
526+
require.NoError(t, clientNetwork.AppRequest(t.Context(), nodeID, requestID, time.Now().Add(time.Second), garbageResponse))
527+
require.NoError(t, clientNetwork.AppRequest(t.Context(), nodeID, requestID, time.Now().Add(time.Second), emptyResponse))
528+
require.NoError(t, clientNetwork.AppRequest(t.Context(), nodeID, requestID, time.Now().Add(time.Second), nilResponse))
529+
530+
err = clientNetwork.AppResponse(t.Context(), nodeID, requestID, gossipMsg)
531531
require.ErrorIs(t, err, p2p.ErrUnrequestedResponse)
532532

533-
err = clientNetwork.AppResponse(context.Background(), nodeID, requestID, requestMessage)
533+
err = clientNetwork.AppResponse(t.Context(), nodeID, requestID, requestMessage)
534534
require.ErrorIs(t, err, p2p.ErrUnrequestedResponse)
535535

536-
err = clientNetwork.AppResponse(context.Background(), nodeID, requestID, garbageResponse)
536+
err = clientNetwork.AppResponse(t.Context(), nodeID, requestID, garbageResponse)
537537
require.ErrorIs(t, err, p2p.ErrUnrequestedResponse)
538538

539-
err = clientNetwork.AppResponse(context.Background(), nodeID, requestID, emptyResponse)
539+
err = clientNetwork.AppResponse(t.Context(), nodeID, requestID, emptyResponse)
540540
require.ErrorIs(t, err, p2p.ErrUnrequestedResponse)
541541

542-
err = clientNetwork.AppResponse(context.Background(), nodeID, requestID, nilResponse)
542+
err = clientNetwork.AppResponse(t.Context(), nodeID, requestID, nilResponse)
543543
require.ErrorIs(t, err, p2p.ErrUnrequestedResponse)
544544
}
545545

@@ -555,7 +555,7 @@ func TestNetworkPropagatesRequestHandlerError(t *testing.T) {
555555
errTest := errors.New("test error")
556556
clientNetwork.SetRequestHandler(&testRequestHandler{err: errTest}) // Return an error from the request handler
557557

558-
require.NoError(t, clientNetwork.Connected(context.Background(), nodeID, defaultPeerVersion))
558+
require.NoError(t, clientNetwork.Connected(t.Context(), nodeID, defaultPeerVersion))
559559

560560
defer clientNetwork.Shutdown()
561561

@@ -564,7 +564,7 @@ func TestNetworkPropagatesRequestHandlerError(t *testing.T) {
564564
require.NoError(t, err)
565565

566566
// Check that if the request handler returns an error, it is propagated as a fatal error.
567-
err = clientNetwork.AppRequest(context.Background(), nodeID, requestID, time.Now().Add(time.Second), requestMessage)
567+
err = clientNetwork.AppRequest(t.Context(), nodeID, requestID, time.Now().Add(time.Second), requestMessage)
568568
require.ErrorIs(t, err, errTest)
569569
}
570570

@@ -576,8 +576,8 @@ func TestNetworkAppRequestAfterShutdown(t *testing.T) {
576576
require.NoError(err)
577577
net.Shutdown()
578578

579-
require.NoError(net.SendAppRequest(context.Background(), ids.GenerateTestNodeID(), nil, nil))
580-
require.NoError(net.SendAppRequest(context.Background(), ids.GenerateTestNodeID(), nil, nil))
579+
require.NoError(net.SendAppRequest(t.Context(), ids.GenerateTestNodeID(), nil, nil))
580+
require.NoError(net.SendAppRequest(t.Context(), ids.GenerateTestNodeID(), nil, nil))
581581
}
582582

583583
func TestNetworkRouting(t *testing.T) {
@@ -602,13 +602,13 @@ func TestNetworkRouting(t *testing.T) {
602602
nodeID := ids.GenerateTestNodeID()
603603
foobar := append([]byte{byte(protocol)}, []byte("foobar")...)
604604
// forward it to the sdk handler
605-
require.NoError(network.AppRequest(context.Background(), nodeID, 1, time.Now().Add(5*time.Second), foobar))
605+
require.NoError(network.AppRequest(t.Context(), nodeID, 1, time.Now().Add(5*time.Second), foobar))
606606
require.True(handler.appRequested)
607607

608-
err = network.AppResponse(context.Background(), ids.GenerateTestNodeID(), 1, foobar)
608+
err = network.AppResponse(t.Context(), ids.GenerateTestNodeID(), 1, foobar)
609609
require.ErrorIs(err, p2p.ErrUnrequestedResponse)
610610

611-
err = network.AppRequestFailed(context.Background(), nodeID, 1, common.ErrTimeout)
611+
err = network.AppRequestFailed(t.Context(), nodeID, 1, common.ErrTimeout)
612612
require.ErrorIs(err, p2p.ErrUnrequestedResponse)
613613
}
614614

0 commit comments

Comments
 (0)