Skip to content

Commit

Permalink
rpc: improve cancel test (ethereum#20752)
Browse files Browse the repository at this point in the history
This is supposed to fix the occasional failures in
TestCancel* on Travis CI.
  • Loading branch information
fjl authored and kjx98 committed Mar 17, 2020
1 parent 548589b commit c23234c
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 8 deletions.
16 changes: 9 additions & 7 deletions rpc/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand All @@ -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()
}
Expand Down
2 changes: 1 addition & 1 deletion rpc/server_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ func TestServerRegisterName(t *testing.T) {
t.Fatalf("Expected service calc to be registered")
}

wantCallbacks := 7
wantCallbacks := 8
if len(svc.callbacks) != wantCallbacks {
t.Errorf("Expected %d callbacks for service 'service', got %d", wantCallbacks, len(svc.callbacks))
}
Expand Down
5 changes: 5 additions & 0 deletions rpc/testservice_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,11 @@ func (s *testService) Sleep(ctx context.Context, duration time.Duration) {
time.Sleep(duration)
}

func (s *testService) Block(ctx context.Context) error {
<-ctx.Done()
return errors.New("context canceled in testservice_block")
}

func (s *testService) Rets() (string, error) {
return "", nil
}
Expand Down

0 comments on commit c23234c

Please sign in to comment.