MCPcopy Create free account
hub / github.com/ByteStorage/FlyDB / TestDB_Merge3

Function TestDB_Merge3

engine/merge_test.go:65–98  ·  view source on GitHub ↗

All invalid data

(t *testing.T)

Source from the content-addressed store, hash-verified

63
64// All invalid data
65func TestDB_Merge3(t *testing.T) {
66 opts := config.DefaultOptions
67 dir, _ := os.MkdirTemp("", "flydb-merge-3")
68 opts.DataFileSize = 32 * 1024 * 1024
69 opts.DirPath = dir
70 db, err := NewDB(opts)
71 defer db.Clean()
72 assert.Nil(t, err)
73 assert.NotNil(t, db)
74
75 for i := 0; i < 50000; i++ {
76 err := db.Put(randkv.GetTestKey(i), randkv.RandomValue(1024))
77 assert.Nil(t, err)
78 }
79 for i := 0; i < 50000; i++ {
80 err := db.Delete(randkv.GetTestKey(i))
81 assert.Nil(t, err)
82 }
83
84 err = db.Merge()
85 assert.Nil(t, err)
86
87 // Restart check
88 err = db.Close()
89 assert.Nil(t, err)
90
91 db2, err := NewDB(opts)
92 defer func() {
93 _ = db2.Close()
94 }()
95 assert.Nil(t, err)
96 keys := db2.GetListKeys()
97 assert.Equal(t, 0, len(keys))
98}

Callers

nothing calls this directly

Calls 9

CleanMethod · 0.95
PutMethod · 0.95
DeleteMethod · 0.95
MergeMethod · 0.95
CloseMethod · 0.95
GetListKeysMethod · 0.95
GetTestKeyFunction · 0.92
RandomValueFunction · 0.92
NewDBFunction · 0.85

Tested by

no test coverage detected