Skip to content

Commit a3f5ed6

Browse files
authored
interop: Replace context.Background() with passed ctx (#6827)
1 parent 3aafa84 commit a3f5ed6

File tree

6 files changed

+121
-110
lines changed

6 files changed

+121
-110
lines changed

interop/client/client.go

+31-27
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,8 @@ func main() {
169169
logger.Fatalf("only one of TLS, ALTS, google default creds, or compute engine creds can be used")
170170
}
171171

172+
ctx := context.Background()
173+
172174
var credsChosen credsMode
173175
switch {
174176
case *useTLS:
@@ -242,7 +244,7 @@ func main() {
242244
}
243245
opts = append(opts, grpc.WithPerRPCCredentials(jwtCreds))
244246
} else if *testCase == "oauth2_auth_token" {
245-
opts = append(opts, grpc.WithPerRPCCredentials(oauth.TokenSource{TokenSource: oauth2.StaticTokenSource(interop.GetToken(*serviceAccountKeyFile, *oauthScope))}))
247+
opts = append(opts, grpc.WithPerRPCCredentials(oauth.TokenSource{TokenSource: oauth2.StaticTokenSource(interop.GetToken(ctx, *serviceAccountKeyFile, *oauthScope))}))
246248
}
247249
}
248250
if len(*serviceConfigJSON) > 0 {
@@ -265,105 +267,107 @@ func main() {
265267
}
266268
defer conn.Close()
267269
tc := testgrpc.NewTestServiceClient(conn)
270+
ctxWithDeadline, cancel := context.WithTimeout(ctx, time.Duration(*soakOverallTimeoutSeconds)*time.Second)
271+
defer cancel()
268272
switch *testCase {
269273
case "empty_unary":
270-
interop.DoEmptyUnaryCall(tc)
274+
interop.DoEmptyUnaryCall(ctx, tc)
271275
logger.Infoln("EmptyUnaryCall done")
272276
case "large_unary":
273-
interop.DoLargeUnaryCall(tc)
277+
interop.DoLargeUnaryCall(ctx, tc)
274278
logger.Infoln("LargeUnaryCall done")
275279
case "client_streaming":
276-
interop.DoClientStreaming(tc)
280+
interop.DoClientStreaming(ctx, tc)
277281
logger.Infoln("ClientStreaming done")
278282
case "server_streaming":
279-
interop.DoServerStreaming(tc)
283+
interop.DoServerStreaming(ctx, tc)
280284
logger.Infoln("ServerStreaming done")
281285
case "ping_pong":
282-
interop.DoPingPong(tc)
286+
interop.DoPingPong(ctx, tc)
283287
logger.Infoln("Pingpong done")
284288
case "empty_stream":
285-
interop.DoEmptyStream(tc)
289+
interop.DoEmptyStream(ctx, tc)
286290
logger.Infoln("Emptystream done")
287291
case "timeout_on_sleeping_server":
288-
interop.DoTimeoutOnSleepingServer(tc)
292+
interop.DoTimeoutOnSleepingServer(ctx, tc)
289293
logger.Infoln("TimeoutOnSleepingServer done")
290294
case "compute_engine_creds":
291295
if credsChosen != credsTLS {
292296
logger.Fatalf("TLS credentials need to be set for compute_engine_creds test case.")
293297
}
294-
interop.DoComputeEngineCreds(tc, *defaultServiceAccount, *oauthScope)
298+
interop.DoComputeEngineCreds(ctx, tc, *defaultServiceAccount, *oauthScope)
295299
logger.Infoln("ComputeEngineCreds done")
296300
case "service_account_creds":
297301
if credsChosen != credsTLS {
298302
logger.Fatalf("TLS credentials need to be set for service_account_creds test case.")
299303
}
300-
interop.DoServiceAccountCreds(tc, *serviceAccountKeyFile, *oauthScope)
304+
interop.DoServiceAccountCreds(ctx, tc, *serviceAccountKeyFile, *oauthScope)
301305
logger.Infoln("ServiceAccountCreds done")
302306
case "jwt_token_creds":
303307
if credsChosen != credsTLS {
304308
logger.Fatalf("TLS credentials need to be set for jwt_token_creds test case.")
305309
}
306-
interop.DoJWTTokenCreds(tc, *serviceAccountKeyFile)
310+
interop.DoJWTTokenCreds(ctx, tc, *serviceAccountKeyFile)
307311
logger.Infoln("JWTtokenCreds done")
308312
case "per_rpc_creds":
309313
if credsChosen != credsTLS {
310314
logger.Fatalf("TLS credentials need to be set for per_rpc_creds test case.")
311315
}
312-
interop.DoPerRPCCreds(tc, *serviceAccountKeyFile, *oauthScope)
316+
interop.DoPerRPCCreds(ctx, tc, *serviceAccountKeyFile, *oauthScope)
313317
logger.Infoln("PerRPCCreds done")
314318
case "oauth2_auth_token":
315319
if credsChosen != credsTLS {
316320
logger.Fatalf("TLS credentials need to be set for oauth2_auth_token test case.")
317321
}
318-
interop.DoOauth2TokenCreds(tc, *serviceAccountKeyFile, *oauthScope)
322+
interop.DoOauth2TokenCreds(ctx, tc, *serviceAccountKeyFile, *oauthScope)
319323
logger.Infoln("Oauth2TokenCreds done")
320324
case "google_default_credentials":
321325
if credsChosen != credsGoogleDefaultCreds {
322326
logger.Fatalf("GoogleDefaultCredentials need to be set for google_default_credentials test case.")
323327
}
324-
interop.DoGoogleDefaultCredentials(tc, *defaultServiceAccount)
328+
interop.DoGoogleDefaultCredentials(ctx, tc, *defaultServiceAccount)
325329
logger.Infoln("GoogleDefaultCredentials done")
326330
case "compute_engine_channel_credentials":
327331
if credsChosen != credsComputeEngineCreds {
328332
logger.Fatalf("ComputeEngineCreds need to be set for compute_engine_channel_credentials test case.")
329333
}
330-
interop.DoComputeEngineChannelCredentials(tc, *defaultServiceAccount)
334+
interop.DoComputeEngineChannelCredentials(ctx, tc, *defaultServiceAccount)
331335
logger.Infoln("ComputeEngineChannelCredentials done")
332336
case "cancel_after_begin":
333-
interop.DoCancelAfterBegin(tc)
337+
interop.DoCancelAfterBegin(ctx, tc)
334338
logger.Infoln("CancelAfterBegin done")
335339
case "cancel_after_first_response":
336-
interop.DoCancelAfterFirstResponse(tc)
340+
interop.DoCancelAfterFirstResponse(ctx, tc)
337341
logger.Infoln("CancelAfterFirstResponse done")
338342
case "status_code_and_message":
339-
interop.DoStatusCodeAndMessage(tc)
343+
interop.DoStatusCodeAndMessage(ctx, tc)
340344
logger.Infoln("StatusCodeAndMessage done")
341345
case "special_status_message":
342-
interop.DoSpecialStatusMessage(tc)
346+
interop.DoSpecialStatusMessage(ctx, tc)
343347
logger.Infoln("SpecialStatusMessage done")
344348
case "custom_metadata":
345-
interop.DoCustomMetadata(tc)
349+
interop.DoCustomMetadata(ctx, tc)
346350
logger.Infoln("CustomMetadata done")
347351
case "unimplemented_method":
348-
interop.DoUnimplementedMethod(conn)
352+
interop.DoUnimplementedMethod(conn, ctx)
349353
logger.Infoln("UnimplementedMethod done")
350354
case "unimplemented_service":
351-
interop.DoUnimplementedService(testgrpc.NewUnimplementedServiceClient(conn))
355+
interop.DoUnimplementedService(testgrpc.NewUnimplementedServiceClient(conn), ctx)
352356
logger.Infoln("UnimplementedService done")
353357
case "pick_first_unary":
354-
interop.DoPickFirstUnary(tc)
358+
interop.DoPickFirstUnary(ctx, tc)
355359
logger.Infoln("PickFirstUnary done")
356360
case "rpc_soak":
357-
interop.DoSoakTest(tc, serverAddr, opts, false /* resetChannel */, *soakIterations, *soakMaxFailures, *soakRequestSize, *soakResponseSize, time.Duration(*soakPerIterationMaxAcceptableLatencyMs)*time.Millisecond, time.Duration(*soakMinTimeMsBetweenRPCs)*time.Millisecond, time.Now().Add(time.Duration(*soakOverallTimeoutSeconds)*time.Second))
361+
interop.DoSoakTest(ctxWithDeadline, tc, serverAddr, opts, false /* resetChannel */, *soakIterations, *soakMaxFailures, *soakRequestSize, *soakResponseSize, time.Duration(*soakPerIterationMaxAcceptableLatencyMs)*time.Millisecond, time.Duration(*soakMinTimeMsBetweenRPCs)*time.Millisecond)
358362
logger.Infoln("RpcSoak done")
359363
case "channel_soak":
360-
interop.DoSoakTest(tc, serverAddr, opts, true /* resetChannel */, *soakIterations, *soakMaxFailures, *soakRequestSize, *soakResponseSize, time.Duration(*soakPerIterationMaxAcceptableLatencyMs)*time.Millisecond, time.Duration(*soakMinTimeMsBetweenRPCs)*time.Millisecond, time.Now().Add(time.Duration(*soakOverallTimeoutSeconds)*time.Second))
364+
interop.DoSoakTest(ctxWithDeadline, tc, serverAddr, opts, true /* resetChannel */, *soakIterations, *soakMaxFailures, *soakRequestSize, *soakResponseSize, time.Duration(*soakPerIterationMaxAcceptableLatencyMs)*time.Millisecond, time.Duration(*soakMinTimeMsBetweenRPCs)*time.Millisecond)
361365
logger.Infoln("ChannelSoak done")
362366
case "orca_per_rpc":
363-
interop.DoORCAPerRPCTest(tc)
367+
interop.DoORCAPerRPCTest(ctx, tc)
364368
logger.Infoln("ORCAPerRPC done")
365369
case "orca_oob":
366-
interop.DoORCAOOBTest(tc)
370+
interop.DoORCAOOBTest(ctx, tc)
367371
logger.Infoln("ORCAOOB done")
368372
default:
369373
logger.Fatal("Unsupported test case: ", *testCase)

interop/http2/negative_http2_client.go

+12-11
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,12 @@ func largeSimpleRequest() *testpb.SimpleRequest {
6969
}
7070

7171
// sends two unary calls. The server asserts that the calls use different connections.
72-
func goaway(tc testgrpc.TestServiceClient) {
73-
interop.DoLargeUnaryCall(tc)
72+
func goaway(ctx context.Context, tc testgrpc.TestServiceClient) {
73+
interop.DoLargeUnaryCall(ctx, tc)
7474
// sleep to ensure that the client has time to recv the GOAWAY.
7575
// TODO(ncteisen): make this less hacky.
7676
time.Sleep(1 * time.Second)
77-
interop.DoLargeUnaryCall(tc)
77+
interop.DoLargeUnaryCall(ctx, tc)
7878
}
7979

8080
func rstAfterHeader(tc testgrpc.TestServiceClient) {
@@ -110,19 +110,19 @@ func rstAfterData(tc testgrpc.TestServiceClient) {
110110
}
111111
}
112112

113-
func ping(tc testgrpc.TestServiceClient) {
113+
func ping(ctx context.Context, tc testgrpc.TestServiceClient) {
114114
// The server will assert that every ping it sends was ACK-ed by the client.
115-
interop.DoLargeUnaryCall(tc)
115+
interop.DoLargeUnaryCall(ctx, tc)
116116
}
117117

118-
func maxStreams(tc testgrpc.TestServiceClient) {
119-
interop.DoLargeUnaryCall(tc)
118+
func maxStreams(ctx context.Context, tc testgrpc.TestServiceClient) {
119+
interop.DoLargeUnaryCall(ctx, tc)
120120
var wg sync.WaitGroup
121121
for i := 0; i < 15; i++ {
122122
wg.Add(1)
123123
go func() {
124124
defer wg.Done()
125-
interop.DoLargeUnaryCall(tc)
125+
interop.DoLargeUnaryCall(ctx, tc)
126126
}()
127127
}
128128
wg.Wait()
@@ -139,9 +139,10 @@ func main() {
139139
}
140140
defer conn.Close()
141141
tc := testgrpc.NewTestServiceClient(conn)
142+
ctx := context.Background()
142143
switch *testCase {
143144
case "goaway":
144-
goaway(tc)
145+
goaway(ctx, tc)
145146
logger.Infoln("goaway done")
146147
case "rst_after_header":
147148
rstAfterHeader(tc)
@@ -153,10 +154,10 @@ func main() {
153154
rstAfterData(tc)
154155
logger.Infoln("rst_after_data done")
155156
case "ping":
156-
ping(tc)
157+
ping(ctx, tc)
157158
logger.Infoln("ping done")
158159
case "max_streams":
159-
maxStreams(tc)
160+
maxStreams(ctx, tc)
160161
logger.Infoln("max_streams done")
161162
default:
162163
logger.Fatal("Unsupported test case: ", *testCase)

interop/observability/client/client.go

+4-3
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,14 @@ func main() {
5858
}
5959
defer conn.Close()
6060
tc := testgrpc.NewTestServiceClient(conn)
61+
ctx := context.Background()
6162
for i := 0; i < *numTimes; i++ {
6263
if *testCase == "ping_pong" {
63-
interop.DoPingPong(tc)
64+
interop.DoPingPong(ctx, tc)
6465
} else if *testCase == "large_unary" {
65-
interop.DoLargeUnaryCall(tc)
66+
interop.DoLargeUnaryCall(ctx, tc)
6667
} else if *testCase == "custom_metadata" {
67-
interop.DoCustomMetadata(tc)
68+
interop.DoCustomMetadata(ctx, tc)
6869
} else {
6970
log.Fatalf("Invalid test case: %s", *testCase)
7071
}

interop/stress/client/main.go

+12-11
Original file line numberDiff line numberDiff line change
@@ -226,32 +226,33 @@ func startServer(server *server, port int) {
226226
func performRPCs(gauge *gauge, conn *grpc.ClientConn, selector *weightedRandomTestSelector, stop <-chan bool) {
227227
client := testgrpc.NewTestServiceClient(conn)
228228
var numCalls int64
229+
ctx := context.Background()
229230
startTime := time.Now()
230231
for {
231232
test := selector.getNextTest()
232233
switch test {
233234
case "empty_unary":
234-
interop.DoEmptyUnaryCall(client)
235+
interop.DoEmptyUnaryCall(ctx, client)
235236
case "large_unary":
236-
interop.DoLargeUnaryCall(client)
237+
interop.DoLargeUnaryCall(ctx, client)
237238
case "client_streaming":
238-
interop.DoClientStreaming(client)
239+
interop.DoClientStreaming(ctx, client)
239240
case "server_streaming":
240-
interop.DoServerStreaming(client)
241+
interop.DoServerStreaming(ctx, client)
241242
case "ping_pong":
242-
interop.DoPingPong(client)
243+
interop.DoPingPong(ctx, client)
243244
case "empty_stream":
244-
interop.DoEmptyStream(client)
245+
interop.DoEmptyStream(ctx, client)
245246
case "timeout_on_sleeping_server":
246-
interop.DoTimeoutOnSleepingServer(client)
247+
interop.DoTimeoutOnSleepingServer(ctx, client)
247248
case "cancel_after_begin":
248-
interop.DoCancelAfterBegin(client)
249+
interop.DoCancelAfterBegin(ctx, client)
249250
case "cancel_after_first_response":
250-
interop.DoCancelAfterFirstResponse(client)
251+
interop.DoCancelAfterFirstResponse(ctx, client)
251252
case "status_code_and_message":
252-
interop.DoStatusCodeAndMessage(client)
253+
interop.DoStatusCodeAndMessage(ctx, client)
253254
case "custom_metadata":
254-
interop.DoCustomMetadata(client)
255+
interop.DoCustomMetadata(ctx, client)
255256
}
256257
numCalls++
257258
defer func() { atomic.AddInt64(&totalNumCalls, numCalls) }()

0 commit comments

Comments
 (0)