@@ -320,38 +320,30 @@ func TestCachedStore_AsyncDeleteMetadata(t *testing.T) {
320320func TestCachedStore_Close_FlushesPendingWrites (t * testing.T ) {
321321 ctx := context .Background ()
322322
323- kv , err := NewTestInMemoryKVStore ()
323+ dir := t .TempDir ()
324+ kv , err := NewDefaultKVStore (dir , "" , "test-db" )
324325 require .NoError (t , err )
325326
326327 base := New (kv )
327-
328- writeCh := make (chan asyncWriteOp , asyncWriteBufferSize )
329- done := make (chan struct {})
330-
331- cs := & CachedStore {
332- Store : base ,
333- writeCh : writeCh ,
334- done : done ,
335- logger : zerolog .Nop (),
336- }
337-
338- cs .startWriteLoop ()
328+ cs , err := NewCachedStore (base )
329+ require .NoError (t , err )
339330
340331 const n = 100
341332 for i := range n {
342333 k := fmt .Sprintf ("key-%d" , i )
343334 require .NoError (t , cs .SetMetadata (ctx , k , []byte (k )))
344335 }
345336
346- cs .stopMu .Lock ()
347- cs .stopped = true
348- close (writeCh )
349- cs .stopMu .Unlock ()
350- <- done
337+ require .NoError (t , cs .Close ())
338+
339+ kv2 , err := NewDefaultKVStore (dir , "" , "test-db" )
340+ require .NoError (t , err )
341+ t .Cleanup (func () { kv2 .Close () })
342+ reopened := New (kv2 )
351343
352344 for i := range n {
353345 k := fmt .Sprintf ("key-%d" , i )
354- v , err := base .GetMetadata (ctx , k )
346+ v , err := reopened .GetMetadata (ctx , k )
355347 require .NoError (t , err )
356348 require .Equal (t , []byte (k ), v )
357349 }
0 commit comments