github.com/Ptt-official-app/go-bbs@v0.12.0/cache/mmap_test.go (about) 1 // +build linux darwin unix 2 3 package cache 4 5 import ( 6 "testing" 7 ) 8 9 func TestOpenMMAP(t *testing.T) { 10 11 data, err := CreateMmap("./test", 20) 12 data.Bytes()[0] = 42 13 if err != nil { 14 t.Logf("err should be nil, got: %v", err) 15 } 16 17 if data.Bytes()[0] != 42 { 18 t.Errorf("data buf should be %v, got %v", 42, data.Bytes()[0]) 19 } 20 data.Close() 21 22 data, err = OpenMmap("./test") 23 if err != nil { 24 t.Logf("err should be nil, got: %v", err) 25 } 26 27 if data.Bytes()[0] != 42 { 28 t.Errorf("data buf should be %v, got %v", 42, data.Bytes()[0]) 29 } 30 data.Bytes()[0] = 43 31 32 err = data.Close() 33 if err != nil { 34 t.Logf("err should be nil, got: %v", err) 35 } 36 37 data, err = OpenMmap("./test") 38 if err != nil { 39 t.Logf("err should be nil, got: %v", err) 40 } 41 42 if data.Bytes()[0] != 43 { 43 t.Errorf("data buf should be %v, got %v", 43, data.Bytes()[0]) 44 } 45 RemoveMmap("./test") 46 }