MCPcopy Create free account
hub / github.com/CPChain/chain / testBatchFuncs

Function testBatchFuncs

database/db_test.go:166–224  ·  view source on GitHub ↗
(b database.Batch, t *testing.T)

Source from the content-addressed store, hash-verified

164}
165
166func testBatchFuncs(b database.Batch, t *testing.T) {
167 t.Parallel()
168
169 // put the values
170 for _, v := range testValues {
171 err := b.Put([]byte(v), []byte(v))
172 if err != nil {
173 t.Fatalf("put failed: %v\n", err)
174 }
175 }
176 inc := testValueSize
177
178 if size := b.ValueSize(); size != inc {
179 t.Fatalf("wrong value size: %v\n", size)
180 }
181
182 // delete the first key
183 if err := b.Delete([]byte(testValues[0])); err != nil {
184 t.Fatalf("delete failed: %v\n", err)
185 }
186 inc++
187
188 // write
189 if err := b.Write(); err != nil {
190 t.Fatalf("write failed: %v\n", err)
191 }
192 // after write, the size remains the same.
193 // why not clear it?
194 if size := b.ValueSize(); size != inc {
195 t.Fatalf("wrong value size: %v\n", size)
196 }
197
198 // delete the keys
199 for _, v := range testValues {
200 err := b.Delete([]byte(v))
201 if err != nil {
202 t.Fatalf("delete failed: %v\n", err)
203 }
204 }
205 inc += len(testValues)
206
207 // value size shouldn't change
208 if size := b.ValueSize(); size != inc {
209 t.Fatalf("wrong value size: %v\n", size)
210 }
211
212 // put the values
213 for _, v := range testValues {
214 err := b.Put([]byte(v), []byte(v))
215 if err != nil {
216 t.Fatalf("put failed: %v\n", err)
217 }
218 }
219 // reset it.
220 b.Reset()
221 if size := b.ValueSize(); size != 0 {
222 t.Fatalf("wrong value size: %v\n", size)
223 }

Callers 3

TestMemBatchFunction · 0.85
TestLDBBatchFunction · 0.85
TestLDBTableBatchFunction · 0.85

Calls 5

PutMethod · 0.65
ValueSizeMethod · 0.65
DeleteMethod · 0.65
WriteMethod · 0.65
ResetMethod · 0.65

Tested by

no test coverage detected