Skip to content

Commit 30b7cd2

Browse files
authored
fix(storage): Handle gRPC deadlines in tests. (#12092)
gRPC deadlines may be triggered before client-side context deadlines. This was already handled in a different test, so we extend it to the remaining tests which check context.DeadlineExceeded.
1 parent 6ce8fe5 commit 30b7cd2

File tree

1 file changed

+4
-3
lines changed

1 file changed

+4
-3
lines changed

storage/client_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2228,8 +2228,8 @@ func TestRetryTimeoutEmulated(t *testing.T) {
22282228
t.Errorf("GetBucket: got unexpected error: %v; want 503", err)
22292229
}
22302230
}
2231-
// Error should be wrapped so it's also equivalent to a context timeout.
2232-
if !errors.Is(err, context.DeadlineExceeded) {
2231+
// Error may come through as a context.DeadlineExceeded (HTTP) or status.DeadlineExceeded (gRPC)
2232+
if !(errors.Is(err, context.DeadlineExceeded) || status.Code(err) == codes.DeadlineExceeded) {
22332233
t.Errorf("GetBucket: got unexpected error %v, want to match DeadlineExceeded.", err)
22342234
}
22352235
})
@@ -2487,7 +2487,8 @@ func TestWriterChunkTransferTimeoutEmulated(t *testing.T) {
24872487
t.Fatalf("checking written content: got(-),want(+):\n%s", diff)
24882488
}
24892489
} else {
2490-
if !errors.Is(err, context.DeadlineExceeded) {
2490+
// Deadlines may come through as a context.DeadlineExceeded (HTTP) or status.DeadlineExceeded (gRPC)
2491+
if !(errors.Is(err, context.DeadlineExceeded) || status.Code(err) == codes.DeadlineExceeded) {
24912492
t.Fatalf("expected context deadline exceeded found %v", err)
24922493
}
24932494
}

0 commit comments

Comments
 (0)