MCPcopy
hub / github.com/grpc/grpc-go / TestDisabledIOBuffers

Method TestDisabledIOBuffers

test/end2end_test.go:5926–6002  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

5924}
5925
5926func (s) TestDisabledIOBuffers(t *testing.T) {
5927 payload, err := newPayload(testpb.PayloadType_COMPRESSABLE, int32(60000))
5928 if err != nil {
5929 t.Fatalf("Failed to create payload: %v", err)
5930 }
5931 req := &testpb.StreamingOutputCallRequest{
5932 Payload: payload,
5933 }
5934 resp := &testpb.StreamingOutputCallResponse{
5935 Payload: payload,
5936 }
5937
5938 ss := &stubserver.StubServer{
5939 FullDuplexCallF: func(stream testgrpc.TestService_FullDuplexCallServer) error {
5940 for {
5941 in, err := stream.Recv()
5942 if err == io.EOF {
5943 return nil
5944 }
5945 if err != nil {
5946 t.Errorf("stream.Recv() = _, %v, want _, <nil>", err)
5947 return err
5948 }
5949 if !reflect.DeepEqual(in.Payload.Body, payload.Body) {
5950 t.Errorf("Received message(len: %v) on server not what was expected(len: %v).", len(in.Payload.Body), len(payload.Body))
5951 return err
5952 }
5953 if err := stream.Send(resp); err != nil {
5954 t.Errorf("stream.Send(_)= %v, want <nil>", err)
5955 return err
5956 }
5957
5958 }
5959 },
5960 }
5961
5962 s := grpc.NewServer(grpc.WriteBufferSize(0), grpc.ReadBufferSize(0))
5963 testgrpc.RegisterTestServiceServer(s, ss)
5964
5965 lis, err := net.Listen("tcp", "localhost:0")
5966 if err != nil {
5967 t.Fatalf("Failed to create listener: %v", err)
5968 }
5969
5970 go func() {
5971 s.Serve(lis)
5972 }()
5973 defer s.Stop()
5974 cc, err := grpc.NewClient(lis.Addr().String(), grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithWriteBufferSize(0), grpc.WithReadBufferSize(0))
5975 if err != nil {
5976 t.Fatalf("Failed to create a client for server")
5977 }
5978 defer cc.Close()
5979 c := testgrpc.NewTestServiceClient(cc)
5980 ctx, cancel := context.WithTimeout(context.Background(), defaultTestTimeout)
5981 defer cancel()
5982 stream, err := c.FullDuplexCall(ctx, grpc.WaitForReady(true))
5983 if err != nil {

Callers

nothing calls this directly

Calls 15

FullDuplexCallMethod · 0.95
NewServerFunction · 0.92
WriteBufferSizeFunction · 0.92
ReadBufferSizeFunction · 0.92
NewClientFunction · 0.92
WithTransportCredentialsFunction · 0.92
NewCredentialsFunction · 0.92
WithWriteBufferSizeFunction · 0.92
WithReadBufferSizeFunction · 0.92
WaitForReadyFunction · 0.92
newPayloadFunction · 0.85
FatalfMethod · 0.65

Tested by

no test coverage detected