diff --git a/rpc/server_test.go b/rpc/server_test.go index a2b8af2b7f..13e723cad0 100644 --- a/rpc/server_test.go +++ b/rpc/server_test.go @@ -307,7 +307,7 @@ func TestServerWebsocketReadLimit(t *testing.T) { t.Fatalf("expected error for request size %d with limit %d, but got none", tc.testSize, tc.readLimit) } // Be tolerant about the exact error surfaced by gorilla/websocket. - // Prefer a CloseError with code 1009, but accept ErrReadLimit or an error string containing 1009/message too big. + // The error text can vary across platforms when the close races the read. var cerr *websocket.CloseError if errors.As(err, &cerr) { if cerr.Code != websocket.CloseMessageTooBig { @@ -316,7 +316,8 @@ func TestServerWebsocketReadLimit(t *testing.T) { } else if !errors.Is(err, websocket.ErrReadLimit) && !strings.Contains(strings.ToLower(err.Error()), "1009") && !strings.Contains(strings.ToLower(err.Error()), "message too big") && - !strings.Contains(strings.ToLower(err.Error()), "connection reset by peer") { + !strings.Contains(strings.ToLower(err.Error()), "connection reset by peer") && + !strings.Contains(strings.ToLower(err.Error()), "forcibly closed") { // Not the error we expect from exceeding the message size limit. t.Fatalf("unexpected error for read limit violation: %v", err) }