MCPcopy
hub / github.com/tinylib/msgp / TestReadWriteLargeExtensionRaw

Function TestReadWriteLargeExtensionRaw

msgp/extension_test.go:53–82  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

51}
52
53func TestReadWriteLargeExtensionRaw(t *testing.T) {
54 var buf bytes.Buffer
55 en := NewWriter(&buf)
56 dc := NewReader(&buf)
57
58 largeExt := RawExtension{Type: int8(rand.Int()), Data: RandBytes(int(tuint32))}
59
60 err := en.WriteExtensionRaw(largeExt.Type, largeExt.Data)
61 if err != nil {
62 t.Errorf("error with large extension write: %s", err)
63 }
64 // write a nil as a marker
65 err = en.WriteNil()
66 if err != nil {
67 t.Errorf("error with large extension write: %s", err)
68 }
69 en.Flush()
70
71 typ, payload, err := dc.ReadExtensionRaw()
72 if err != nil {
73 t.Errorf("error with large extension read: %s", err)
74 }
75 if typ != largeExt.Type || !bytes.Equal(payload, largeExt.Data) {
76 t.Errorf("large extension mismatch: %d %x != %d %x", typ, payload, largeExt.Type, largeExt.Data)
77 }
78 err = dc.ReadNil()
79 if err != nil {
80 t.Errorf("error with large extension read: %s", err)
81 }
82}
83
84func TestExtensionRawStackBuffer(t *testing.T) {
85 var buf bytes.Buffer

Callers

nothing calls this directly

Calls 10

WriteExtensionRawMethod · 0.95
WriteNilMethod · 0.95
FlushMethod · 0.95
ReadExtensionRawMethod · 0.95
ReadNilMethod · 0.95
NewWriterFunction · 0.85
NewReaderFunction · 0.85
RandBytesFunction · 0.85
IntMethod · 0.80
EqualMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…