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

Function TestDB_Merge2

engine/merge_test.go:26–62  ·  view source on GitHub ↗

All valid data

(t *testing.T)

Source from the content-addressed store, hash-verified

24
25// All valid data
26func TestDB_Merge2(t *testing.T) {
27 opts := config.DefaultOptions
28 dir, _ := os.MkdirTemp("", "flydb-merge-2")
29 opts.DataFileSize = 32 * 1024 * 1024
30 opts.DirPath = dir
31 db, err := NewDB(opts)
32 defer db.Clean()
33 assert.Nil(t, err)
34 assert.NotNil(t, db)
35
36 for i := 0; i < 50000; i++ {
37 err := db.Put(randkv.GetTestKey(i), randkv.RandomValue(1024))
38 assert.Nil(t, err)
39 }
40
41 err = db.Merge()
42 assert.Nil(t, err)
43
44 // Restart check
45 err = db.Close()
46 assert.Nil(t, err)
47
48 db2, err := NewDB(opts)
49 defer func() {
50 _ = db2.Close()
51 }()
52 assert.Nil(t, err)
53 keys := db2.GetListKeys()
54 assert.Equal(t, 50000, len(keys))
55
56 for i := 0; i < 50000; i++ {
57 val, err := db2.Get(randkv.GetTestKey(i))
58 assert.Nil(t, err)
59 assert.NotNil(t, val)
60 }
61
62}
63
64// All invalid data
65func TestDB_Merge3(t *testing.T) {

Callers

nothing calls this directly

Calls 9

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

Tested by

no test coverage detected