@@ -167,7 +167,8 @@ func TestMemoryLeakScenarios(t *testing.T) {
167
167
168
168
key := []byte ("key1" )
169
169
val := []byte ("value1" )
170
- db .Set (key , val )
170
+ err := db .Set (key , val )
171
+ require .NoError (t , err )
171
172
172
173
iter , err := db .Iterator ([]byte ("key1" ), []byte ("zzzz" ))
173
174
require .NoError (t , err )
@@ -179,7 +180,8 @@ func TestMemoryLeakScenarios(t *testing.T) {
179
180
180
181
writeDone := make (chan error , 1 )
181
182
go func () {
182
- db .Set ([]byte ("key2" ), []byte ("value2" ))
183
+ err := db .Set ([]byte ("key2" ), []byte ("value2" ))
184
+ require .NoError (t , err )
183
185
writeDone <- nil
184
186
}()
185
187
@@ -198,8 +200,10 @@ func TestMemoryLeakScenarios(t *testing.T) {
198
200
db := testdb .NewMemDB ()
199
201
defer db .Close ()
200
202
201
- db .Set ([]byte ("a" ), []byte ("value-a" ))
202
- db .Set ([]byte ("b" ), []byte ("value-b" ))
203
+ err := db .Set ([]byte ("a" ), []byte ("value-a" ))
204
+ require .NoError (t , err )
205
+ err = db .Set ([]byte ("b" ), []byte ("value-b" ))
206
+ require .NoError (t , err )
203
207
204
208
iter , err := db .Iterator ([]byte ("a" ), []byte ("z" ))
205
209
require .NoError (t , err )
@@ -211,7 +215,8 @@ func TestMemoryLeakScenarios(t *testing.T) {
211
215
}
212
216
require .NoError (t , iter .Close (), "closing iterator should succeed" )
213
217
214
- db .Set ([]byte ("c" ), []byte ("value-c" ))
218
+ err = db .Set ([]byte ("c" ), []byte ("value-c" ))
219
+ require .NoError (t , err )
215
220
},
216
221
},
217
222
{
@@ -254,6 +259,9 @@ func TestMemoryLeakScenarios(t *testing.T) {
254
259
ReleaseCache (c )
255
260
}
256
261
runtime .GC ()
262
+ // Wait to allow GC to complete.
263
+ time .Sleep (5 * time .Second )
264
+
257
265
allocAfterRelease := getAlloc ()
258
266
259
267
require .Less (t , allocAfterRelease , baseAlloc * 2 ,
@@ -271,7 +279,8 @@ func TestMemoryLeakScenarios(t *testing.T) {
271
279
272
280
keys := [][]byte {[]byte ("a" ), []byte ("b" ), []byte ("c" )}
273
281
for _ , k := range keys {
274
- db .Set (k , []byte ("val:" + string (k )))
282
+ err := db .Set (k , []byte ("val:" + string (k )))
283
+ require .NoError (t , err )
275
284
}
276
285
277
286
subCases := []struct {
@@ -331,7 +340,8 @@ func TestStressHighVolumeInsert(t *testing.T) {
331
340
332
341
for i := 0 ; i < totalInserts ; i ++ {
333
342
key := []byte (fmt .Sprintf ("key_%d" , i ))
334
- db .Set (key , []byte ("value" ))
343
+ err := db .Set (key , []byte ("value" ))
344
+ require .NoError (t , err )
335
345
}
336
346
runtime .GC ()
337
347
runtime .ReadMemStats (& mEnd )
@@ -353,7 +363,8 @@ func TestBulkDeletionMemoryRecovery(t *testing.T) {
353
363
for i := 0 ; i < totalInserts ; i ++ {
354
364
key := []byte (fmt .Sprintf ("bulk_key_%d" , i ))
355
365
keys [i ] = key
356
- db .Set (key , []byte ("bulk_value" ))
366
+ err := db .Set (key , []byte ("bulk_value" ))
367
+ require .NoError (t , err )
357
368
}
358
369
runtime .GC ()
359
370
var mBefore runtime.MemStats
@@ -383,7 +394,8 @@ func TestPeakMemoryTracking(t *testing.T) {
383
394
var m runtime.MemStats
384
395
for i := 0 ; i < totalOps ; i ++ {
385
396
key := []byte (fmt .Sprintf ("peak_key_%d" , i ))
386
- db .Set (key , []byte ("peak_value" ))
397
+ err := db .Set (key , []byte ("peak_value" ))
398
+ require .NoError (t , err )
387
399
if i % 1000 == 0 {
388
400
runtime .GC ()
389
401
runtime .ReadMemStats (& m )
@@ -411,7 +423,8 @@ func TestRepeatedCreateDestroyCycles(t *testing.T) {
411
423
runtime .ReadMemStats (& mStart )
412
424
for i := 0 ; i < cycles ; i ++ {
413
425
db := testdb .NewMemDB ()
414
- db .Set ([]byte ("cycle_key" ), []byte ("cycle_value" ))
426
+ err := db .Set ([]byte ("cycle_key" ), []byte ("cycle_value" ))
427
+ require .NoError (t , err )
415
428
db .Close ()
416
429
}
417
430
runtime .GC ()
@@ -460,7 +473,8 @@ func TestConcurrentAccess(t *testing.T) {
460
473
defer wg .Done ()
461
474
for j := 0 ; j < opsPerGoroutine ; j ++ {
462
475
key := []byte (fmt .Sprintf ("concurrent_key_%d_%d" , id , j ))
463
- db .Set (key , []byte ("concurrent_value" ))
476
+ err := db .Set (key , []byte ("concurrent_value" ))
477
+ require .NoError (t , err )
464
478
}
465
479
}(i )
466
480
}
@@ -503,7 +517,8 @@ func TestLockingAndRelease(t *testing.T) {
503
517
db := testdb .NewMemDB ()
504
518
defer db .Close ()
505
519
506
- db .Set ([]byte ("conflict_key" ), []byte ("initial" ))
520
+ err := db .Set ([]byte ("conflict_key" ), []byte ("initial" ))
521
+ require .NoError (t , err )
507
522
508
523
ready := make (chan struct {})
509
524
release := make (chan struct {})
@@ -519,7 +534,8 @@ func TestLockingAndRelease(t *testing.T) {
519
534
<- ready
520
535
done := make (chan struct {})
521
536
go func () {
522
- db .Set ([]byte ("conflict_key" ), []byte ("updated" ))
537
+ err := db .Set ([]byte ("conflict_key" ), []byte ("updated" ))
538
+ require .NoError (t , err )
523
539
close (done )
524
540
}()
525
541
@@ -553,7 +569,8 @@ func TestLongRunningWorkload(t *testing.T) {
553
569
554
570
for i := 0 ; i < iterations ; i ++ {
555
571
key := []byte (fmt .Sprintf ("workload_key_%d" , i ))
556
- db .Set (key , []byte ("workload_value" ))
572
+ err := db .Set (key , []byte ("workload_value" ))
573
+ require .NoError (t , err )
557
574
if i % 2 == 0 {
558
575
db .Delete (key )
559
576
}
@@ -590,6 +607,10 @@ func TestMemoryMetrics(t *testing.T) {
590
607
_ = make ([]byte , 128 )
591
608
}
592
609
runtime .GC ()
610
+
611
+ // Wait a moment to allow GC to complete.
612
+ time .Sleep (5 * time .Second )
613
+
593
614
runtime .ReadMemStats (& mAfter )
594
615
t .Logf ("Mallocs: before=%d, after=%d, diff=%d" , mBefore .Mallocs , mAfter .Mallocs , mAfter .Mallocs - mBefore .Mallocs )
595
616
t .Logf ("Frees: before=%d, after=%d, diff=%d" , mBefore .Frees , mAfter .Frees , mAfter .Frees - mBefore .Frees )
@@ -620,7 +641,8 @@ func TestRandomMemoryAccessPatterns(t *testing.T) {
620
641
for j := 0 ; j < ops ; j ++ {
621
642
if j % 2 == 0 {
622
643
key := []byte (fmt .Sprintf ("rand_key_%d_%d" , seed , j ))
623
- db .Set (key , []byte ("rand_value" ))
644
+ err := db .Set (key , []byte ("rand_value" ))
645
+ require .NoError (t , err )
624
646
} else {
625
647
// Randomly delete some keys.
626
648
key := []byte (fmt .Sprintf ("rand_key_%d_%d" , seed , j - 1 ))
@@ -824,7 +846,8 @@ func TestWasmIteratorMemoryLeaks(t *testing.T) {
824
846
825
847
// Populate DB with data
826
848
for i := 0 ; i < 1000 ; i ++ {
827
- db .Set ([]byte (fmt .Sprintf ("key%d" , i )), []byte (fmt .Sprintf ("val%d" , i )))
849
+ err := db .Set ([]byte (fmt .Sprintf ("key%d" , i )), []byte (fmt .Sprintf ("val%d" , i )))
850
+ require .NoError (t , err )
828
851
}
829
852
830
853
gasMeter := NewMockGasMeter (100000000 )
@@ -917,7 +940,8 @@ func TestWasmLongRunningMemoryStability(t *testing.T) {
917
940
& igasMeter , store , api , & querier , 100000000 , false )
918
941
require .NoError (t , err )
919
942
case 2 :
920
- db .Set ([]byte (fmt .Sprintf ("key%d" , i )), []byte ("value" ))
943
+ err := db .Set ([]byte (fmt .Sprintf ("key%d" , i )), []byte ("value" ))
944
+ require .NoError (t , err )
921
945
_ , _ , err = Execute (cache , checksum , env , info , []byte (`{"release":{}}` ),
922
946
& igasMeter , store , api , & querier , 100000000 , false )
923
947
require .NoError (t , err )
0 commit comments