rpc: improve cancel test (#20752)

This is supposed to fix the occasional failures in 
TestCancel* on Travis CI.
This commit is contained in:
Felix Lange
2020-03-12 11:24:36 +01:00
committed by GitHub
parent 0bdb21f0cb
commit b1efff659e
3 changed files with 15 additions and 8 deletions

View File

@ -179,7 +179,7 @@ func testClientCancel(transport string, t *testing.T) {
var (
wg sync.WaitGroup
nreqs = 10
ncallers = 6
ncallers = 10
)
caller := func(index int) {
defer wg.Done()
@ -200,14 +200,16 @@ func testClientCancel(transport string, t *testing.T) {
// deadline.
ctx, cancel = context.WithTimeout(context.Background(), timeout)
}
// Now perform a call with the context.
// The key thing here is that no call will ever complete successfully.
sleepTime := maxContextCancelTimeout + 20*time.Millisecond
err := client.CallContext(ctx, nil, "test_sleep", sleepTime)
if err != nil {
log.Debug(fmt.Sprint("got expected error:", err))
} else {
t.Errorf("no error for call with %v wait time", timeout)
err := client.CallContext(ctx, nil, "test_block")
switch {
case err == nil:
_, hasDeadline := ctx.Deadline()
t.Errorf("no error for call with %v wait time (deadline: %v)", timeout, hasDeadline)
// default:
// t.Logf("got expected error with %v wait time: %v", timeout, err)
}
cancel()
}