MCPcopy
hub / github.com/etcd-io/bbolt / TestOpenWithPreLoadFreelist

Function TestOpenWithPreLoadFreelist

db_whitebox_test.go:13–56  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

11)
12
13func TestOpenWithPreLoadFreelist(t *testing.T) {
14 testCases := []struct {
15 name string
16 readonly bool
17 preLoadFreePage bool
18 expectedFreePagesLoaded bool
19 }{
20 {
21 name: "write mode always load free pages",
22 readonly: false,
23 preLoadFreePage: false,
24 expectedFreePagesLoaded: true,
25 },
26 {
27 name: "readonly mode load free pages when flag set",
28 readonly: true,
29 preLoadFreePage: true,
30 expectedFreePagesLoaded: true,
31 },
32 {
33 name: "readonly mode doesn't load free pages when flag not set",
34 readonly: true,
35 preLoadFreePage: false,
36 expectedFreePagesLoaded: false,
37 },
38 }
39
40 fileName, err := prepareData(t)
41 require.NoError(t, err)
42
43 for _, tc := range testCases {
44 t.Run(tc.name, func(t *testing.T) {
45 db, err := Open(fileName, 0666, &Options{
46 ReadOnly: tc.readonly,
47 PreLoadFreelist: tc.preLoadFreePage,
48 })
49 require.NoError(t, err)
50
51 assert.Equal(t, tc.expectedFreePagesLoaded, db.freelist != nil)
52
53 assert.NoError(t, db.Close())
54 })
55 }
56}
57
58func TestMethodPage(t *testing.T) {
59 testCases := []struct {

Callers

nothing calls this directly

Calls 4

prepareDataFunction · 0.85
OpenFunction · 0.85
RunMethod · 0.80
CloseMethod · 0.45

Tested by

no test coverage detected