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

Method TestMultipleParsing

rpc_util_test.go:228–255  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

226}
227
228func (s) TestMultipleParsing(t *testing.T) {
229 // Set a byte stream consists of 3 messages with their headers.
230 p := []byte{0, 0, 0, 0, 1, 'a', 0, 0, 0, 0, 2, 'b', 'c', 0, 0, 0, 0, 1, 'd'}
231 b := &fullReader{p}
232 parser := &parser{r: b, bufferPool: mem.DefaultBufferPool()}
233
234 wantRecvs := []struct {
235 pt payloadFormat
236 data []byte
237 }{
238 {compressionNone, []byte("a")},
239 {compressionNone, []byte("bc")},
240 {compressionNone, []byte("d")},
241 }
242 for i, want := range wantRecvs {
243 pt, data, err := parser.recvMsg(math.MaxInt32)
244 if err != nil || pt != want.pt || !reflect.DeepEqual(data.Materialize(), want.data) {
245 t.Fatalf("after %d calls, parser{%v}.recvMsg(_) = %v, %v, %v\nwant %v, %v, <nil>",
246 i, p, pt, data, err, want.pt, want.data)
247 }
248 }
249
250 pt, data, err := parser.recvMsg(math.MaxInt32)
251 if err != io.EOF {
252 t.Fatalf("after %d recvMsgs calls, parser{%v}.recvMsg(_) = %v, %v, %v\nwant _, _, %v",
253 len(wantRecvs), p, pt, data, err, io.EOF)
254 }
255}
256
257func (s) TestEncode(t *testing.T) {
258 for _, test := range []struct {

Callers

nothing calls this directly

Calls 4

recvMsgMethod · 0.95
DefaultBufferPoolFunction · 0.92
MaterializeMethod · 0.80
FatalfMethod · 0.65

Tested by

no test coverage detected