@@ -167,7 +167,8 @@ func TestMemoryLeakScenarios(t *testing.T) {
167167
168168 key := []byte ("key1" )
169169 val := []byte ("value1" )
170- db .Set (key , val )
170+ err := db .Set (key , val )
171+ require .NoError (t , err )
171172
172173 iter , err := db .Iterator ([]byte ("key1" ), []byte ("zzzz" ))
173174 require .NoError (t , err )
@@ -179,7 +180,8 @@ func TestMemoryLeakScenarios(t *testing.T) {
179180
180181 writeDone := make (chan error , 1 )
181182 go func () {
182- db .Set ([]byte ("key2" ), []byte ("value2" ))
183+ err := db .Set ([]byte ("key2" ), []byte ("value2" ))
184+ require .NoError (t , err )
183185 writeDone <- nil
184186 }()
185187
@@ -198,8 +200,10 @@ func TestMemoryLeakScenarios(t *testing.T) {
198200 db := testdb .NewMemDB ()
199201 defer db .Close ()
200202
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 )
203207
204208 iter , err := db .Iterator ([]byte ("a" ), []byte ("z" ))
205209 require .NoError (t , err )
@@ -211,7 +215,8 @@ func TestMemoryLeakScenarios(t *testing.T) {
211215 }
212216 require .NoError (t , iter .Close (), "closing iterator should succeed" )
213217
214- db .Set ([]byte ("c" ), []byte ("value-c" ))
218+ err = db .Set ([]byte ("c" ), []byte ("value-c" ))
219+ require .NoError (t , err )
215220 },
216221 },
217222 {
@@ -256,6 +261,9 @@ func TestMemoryLeakScenarios(t *testing.T) {
256261 runtime .GC ()
257262 allocAfterRelease := getAlloc ()
258263
264+ // Wait to allow GC to complete.
265+ time .Sleep (5 * time .Second )
266+
259267 require .Less (t , allocAfterRelease , baseAlloc * 2 ,
260268 "Heap allocation after releasing caches too high: base=%d, after=%d" , baseAlloc , allocAfterRelease )
261269 require .Less (t , (allocAfterRelease - baseAlloc )* 2 , (allocAfterCreate - baseAlloc ),
@@ -271,7 +279,8 @@ func TestMemoryLeakScenarios(t *testing.T) {
271279
272280 keys := [][]byte {[]byte ("a" ), []byte ("b" ), []byte ("c" )}
273281 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 )
275284 }
276285
277286 subCases := []struct {
@@ -331,7 +340,8 @@ func TestStressHighVolumeInsert(t *testing.T) {
331340
332341 for i := 0 ; i < totalInserts ; i ++ {
333342 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 )
335345 }
336346 runtime .GC ()
337347 runtime .ReadMemStats (& mEnd )
@@ -353,7 +363,8 @@ func TestBulkDeletionMemoryRecovery(t *testing.T) {
353363 for i := 0 ; i < totalInserts ; i ++ {
354364 key := []byte (fmt .Sprintf ("bulk_key_%d" , i ))
355365 keys [i ] = key
356- db .Set (key , []byte ("bulk_value" ))
366+ err := db .Set (key , []byte ("bulk_value" ))
367+ require .NoError (t , err )
357368 }
358369 runtime .GC ()
359370 var mBefore runtime.MemStats
@@ -383,7 +394,8 @@ func TestPeakMemoryTracking(t *testing.T) {
383394 var m runtime.MemStats
384395 for i := 0 ; i < totalOps ; i ++ {
385396 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 )
387399 if i % 1000 == 0 {
388400 runtime .GC ()
389401 runtime .ReadMemStats (& m )
@@ -411,7 +423,8 @@ func TestRepeatedCreateDestroyCycles(t *testing.T) {
411423 runtime .ReadMemStats (& mStart )
412424 for i := 0 ; i < cycles ; i ++ {
413425 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 )
415428 db .Close ()
416429 }
417430 runtime .GC ()
@@ -460,7 +473,8 @@ func TestConcurrentAccess(t *testing.T) {
460473 defer wg .Done ()
461474 for j := 0 ; j < opsPerGoroutine ; j ++ {
462475 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 )
464478 }
465479 }(i )
466480 }
@@ -503,7 +517,8 @@ func TestLockingAndRelease(t *testing.T) {
503517 db := testdb .NewMemDB ()
504518 defer db .Close ()
505519
506- db .Set ([]byte ("conflict_key" ), []byte ("initial" ))
520+ err := db .Set ([]byte ("conflict_key" ), []byte ("initial" ))
521+ require .NoError (t , err )
507522
508523 ready := make (chan struct {})
509524 release := make (chan struct {})
@@ -519,7 +534,8 @@ func TestLockingAndRelease(t *testing.T) {
519534 <- ready
520535 done := make (chan struct {})
521536 go func () {
522- db .Set ([]byte ("conflict_key" ), []byte ("updated" ))
537+ err := db .Set ([]byte ("conflict_key" ), []byte ("updated" ))
538+ require .NoError (t , err )
523539 close (done )
524540 }()
525541
@@ -553,7 +569,8 @@ func TestLongRunningWorkload(t *testing.T) {
553569
554570 for i := 0 ; i < iterations ; i ++ {
555571 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 )
557574 if i % 2 == 0 {
558575 db .Delete (key )
559576 }
@@ -590,6 +607,10 @@ func TestMemoryMetrics(t *testing.T) {
590607 _ = make ([]byte , 128 )
591608 }
592609 runtime .GC ()
610+
611+ // Wait a moment to allow GC to complete.
612+ time .Sleep (15 * time .Second )
613+
593614 runtime .ReadMemStats (& mAfter )
594615 t .Logf ("Mallocs: before=%d, after=%d, diff=%d" , mBefore .Mallocs , mAfter .Mallocs , mAfter .Mallocs - mBefore .Mallocs )
595616 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) {
620641 for j := 0 ; j < ops ; j ++ {
621642 if j % 2 == 0 {
622643 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 )
624646 } else {
625647 // Randomly delete some keys.
626648 key := []byte (fmt .Sprintf ("rand_key_%d_%d" , seed , j - 1 ))
@@ -824,7 +846,8 @@ func TestWasmIteratorMemoryLeaks(t *testing.T) {
824846
825847 // Populate DB with data
826848 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 )
828851 }
829852
830853 gasMeter := NewMockGasMeter (100000000 )
@@ -917,7 +940,8 @@ func TestWasmLongRunningMemoryStability(t *testing.T) {
917940 & igasMeter , store , api , & querier , 100000000 , false )
918941 require .NoError (t , err )
919942 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 )
921945 _ , _ , err = Execute (cache , checksum , env , info , []byte (`{"release":{}}` ),
922946 & igasMeter , store , api , & querier , 100000000 , false )
923947 require .NoError (t , err )
0 commit comments