Skip to content

Commit 5035064

Browse files
authored
core/rawdb: improve the test suite for ancient store (#32555)
1 parent 2a3f4ce commit 5035064

File tree

1 file changed

+57
-23
lines changed

1 file changed

+57
-23
lines changed

core/rawdb/ancienttest/testsuite.go

Lines changed: 57 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,16 @@ func basicRead(t *testing.T, newFn func(kinds []string) ethdb.AncientStore) {
4848
)
4949
defer db.Close()
5050

51-
db.ModifyAncients(func(op ethdb.AncientWriteOp) error {
51+
if _, err := db.ModifyAncients(func(op ethdb.AncientWriteOp) error {
5252
for i := 0; i < len(data); i++ {
53-
op.AppendRaw("a", uint64(i), data[i])
53+
if err := op.AppendRaw("a", uint64(i), data[i]); err != nil {
54+
return err
55+
}
5456
}
5557
return nil
56-
})
58+
}); err != nil {
59+
t.Fatalf("Failed to write ancient data %v", err)
60+
}
5761
db.TruncateTail(10)
5862
db.TruncateHead(90)
5963

@@ -109,12 +113,16 @@ func batchRead(t *testing.T, newFn func(kinds []string) ethdb.AncientStore) {
109113
)
110114
defer db.Close()
111115

112-
db.ModifyAncients(func(op ethdb.AncientWriteOp) error {
116+
if _, err := db.ModifyAncients(func(op ethdb.AncientWriteOp) error {
113117
for i := 0; i < 100; i++ {
114-
op.AppendRaw("a", uint64(i), data[i])
118+
if err := op.AppendRaw("a", uint64(i), data[i]); err != nil {
119+
return err
120+
}
115121
}
116122
return nil
117-
})
123+
}); err != nil {
124+
t.Fatalf("Failed to write ancient data %v", err)
125+
}
118126
db.TruncateTail(10)
119127
db.TruncateHead(90)
120128

@@ -189,7 +197,9 @@ func basicWrite(t *testing.T, newFn func(kinds []string) ethdb.AncientStore) {
189197
// The ancient write to tables should be aligned
190198
_, err := db.ModifyAncients(func(op ethdb.AncientWriteOp) error {
191199
for i := 0; i < 100; i++ {
192-
op.AppendRaw("a", uint64(i), dataA[i])
200+
if err := op.AppendRaw("a", uint64(i), dataA[i]); err != nil {
201+
return err
202+
}
193203
}
194204
return nil
195205
})
@@ -200,8 +210,12 @@ func basicWrite(t *testing.T, newFn func(kinds []string) ethdb.AncientStore) {
200210
// Test normal ancient write
201211
size, err := db.ModifyAncients(func(op ethdb.AncientWriteOp) error {
202212
for i := 0; i < 100; i++ {
203-
op.AppendRaw("a", uint64(i), dataA[i])
204-
op.AppendRaw("b", uint64(i), dataB[i])
213+
if err := op.AppendRaw("a", uint64(i), dataA[i]); err != nil {
214+
return err
215+
}
216+
if err := op.AppendRaw("b", uint64(i), dataB[i]); err != nil {
217+
return err
218+
}
205219
}
206220
return nil
207221
})
@@ -217,8 +231,12 @@ func basicWrite(t *testing.T, newFn func(kinds []string) ethdb.AncientStore) {
217231
db.TruncateHead(90)
218232
_, err = db.ModifyAncients(func(op ethdb.AncientWriteOp) error {
219233
for i := 90; i < 100; i++ {
220-
op.AppendRaw("a", uint64(i), dataA[i])
221-
op.AppendRaw("b", uint64(i), dataB[i])
234+
if err := op.AppendRaw("a", uint64(i), dataA[i]); err != nil {
235+
return err
236+
}
237+
if err := op.AppendRaw("b", uint64(i), dataB[i]); err != nil {
238+
return err
239+
}
222240
}
223241
return nil
224242
})
@@ -227,11 +245,15 @@ func basicWrite(t *testing.T, newFn func(kinds []string) ethdb.AncientStore) {
227245
}
228246

229247
// Write should work after truncating everything
230-
db.TruncateTail(0)
248+
db.TruncateHead(0)
231249
_, err = db.ModifyAncients(func(op ethdb.AncientWriteOp) error {
232250
for i := 0; i < 100; i++ {
233-
op.AppendRaw("a", uint64(i), dataA[i])
234-
op.AppendRaw("b", uint64(i), dataB[i])
251+
if err := op.AppendRaw("a", uint64(i), dataA[i]); err != nil {
252+
return err
253+
}
254+
if err := op.AppendRaw("b", uint64(i), dataB[i]); err != nil {
255+
return err
256+
}
235257
}
236258
return nil
237259
})
@@ -245,14 +267,18 @@ func nonMutable(t *testing.T, newFn func(kinds []string) ethdb.AncientStore) {
245267
defer db.Close()
246268

247269
// We write 100 zero-bytes to the freezer and immediately mutate the slice
248-
db.ModifyAncients(func(op ethdb.AncientWriteOp) error {
270+
if _, err := db.ModifyAncients(func(op ethdb.AncientWriteOp) error {
249271
data := make([]byte, 100)
250-
op.AppendRaw("a", uint64(0), data)
272+
if err := op.AppendRaw("a", uint64(0), data); err != nil {
273+
return err
274+
}
251275
for i := range data {
252276
data[i] = 0xff
253277
}
254278
return nil
255-
})
279+
}); err != nil {
280+
t.Fatalf("Failed to write ancient data %v", err)
281+
}
256282
// Now read it.
257283
data, err := db.Ancient("a", uint64(0))
258284
if err != nil {
@@ -275,23 +301,31 @@ func TestResettableAncientSuite(t *testing.T, newFn func(kinds []string) ethdb.R
275301
)
276302
defer db.Close()
277303

278-
db.ModifyAncients(func(op ethdb.AncientWriteOp) error {
304+
if _, err := db.ModifyAncients(func(op ethdb.AncientWriteOp) error {
279305
for i := 0; i < 100; i++ {
280-
op.AppendRaw("a", uint64(i), data[i])
306+
if err := op.AppendRaw("a", uint64(i), data[i]); err != nil {
307+
return err
308+
}
281309
}
282310
return nil
283-
})
311+
}); err != nil {
312+
t.Fatalf("Failed to write ancient data %v", err)
313+
}
284314
db.TruncateTail(10)
285315
db.TruncateHead(90)
286316

287317
// Ancient write should work after resetting
288318
db.Reset()
289-
db.ModifyAncients(func(op ethdb.AncientWriteOp) error {
319+
if _, err := db.ModifyAncients(func(op ethdb.AncientWriteOp) error {
290320
for i := 0; i < 100; i++ {
291-
op.AppendRaw("a", uint64(i), data[i])
321+
if err := op.AppendRaw("a", uint64(i), data[i]); err != nil {
322+
return err
323+
}
292324
}
293325
return nil
294-
})
326+
}); err != nil {
327+
t.Fatalf("Failed to write ancient data %v", err)
328+
}
295329
})
296330
}
297331

0 commit comments

Comments
 (0)