MCPcopy Create free account
hub / github.com/cloudwego/netpoll / TestLinkBufferWithInvalid

Function TestLinkBufferWithInvalid

nocopy_linkbuffer_test.go:116–198  ·  view source on GitHub ↗

TestLinkBufferWithZero test more case with n is invalid.

(t *testing.T)

Source from the content-addressed store, hash-verified

114
115// TestLinkBufferWithZero test more case with n is invalid.
116func TestLinkBufferWithInvalid(t *testing.T) {
117 // clean & new
118 LinkBufferCap = 128
119
120 buf := NewLinkBuffer()
121 Equal(t, buf.Len(), 0)
122 MustTrue(t, buf.IsEmpty())
123
124 for n := 0; n > -5; n-- {
125 // test writer
126 p, err := buf.Malloc(n)
127 Equal(t, len(p), 0)
128 Equal(t, buf.MallocLen(), 0)
129 Equal(t, buf.Len(), 0)
130 MustNil(t, err)
131
132 var wn int
133 wn, err = buf.WriteString("")
134 Equal(t, wn, 0)
135 Equal(t, buf.MallocLen(), 0)
136 Equal(t, buf.Len(), 0)
137 MustNil(t, err)
138
139 wn, err = buf.WriteBinary(nil)
140 Equal(t, wn, 0)
141 Equal(t, buf.MallocLen(), 0)
142 Equal(t, buf.Len(), 0)
143 MustNil(t, err)
144
145 err = buf.WriteDirect(nil, n)
146 Equal(t, buf.MallocLen(), 0)
147 Equal(t, buf.Len(), 0)
148 MustNil(t, err)
149
150 var w *LinkBuffer
151 err = buf.Append(w)
152 Equal(t, buf.MallocLen(), 0)
153 Equal(t, buf.Len(), 0)
154 MustNil(t, err)
155
156 err = buf.MallocAck(n)
157 Equal(t, buf.MallocLen(), 0)
158 Equal(t, buf.Len(), 0)
159 if n == 0 {
160 MustNil(t, err)
161 } else {
162 MustTrue(t, err != nil)
163 }
164
165 err = buf.Flush()
166 MustNil(t, err)
167
168 // test reader
169 p, err = buf.Next(n)
170 Equal(t, len(p), 0)
171 MustNil(t, err)
172
173 p, err = buf.Peek(n)

Callers

nothing calls this directly

Calls 15

LenMethod · 0.95
NewLinkBufferFunction · 0.85
MallocMethod · 0.65
MallocLenMethod · 0.65
WriteStringMethod · 0.65
WriteBinaryMethod · 0.65
WriteDirectMethod · 0.65
AppendMethod · 0.65
MallocAckMethod · 0.65
FlushMethod · 0.65
NextMethod · 0.65
PeekMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…