MCPcopy
hub / github.com/dgraph-io/badger / TestDropReadOnly

Function TestDropReadOnly

managed_db_test.go:253–284  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

251}
252
253func TestDropReadOnly(t *testing.T) {
254 dir, err := ioutil.TempDir("", "badger-test")
255 require.NoError(t, err)
256 defer removeDir(dir)
257 opts := getTestOptions(dir)
258 opts.ValueLogFileSize = 5 << 20
259 db, err := Open(opts)
260 require.NoError(t, err)
261 N := uint64(1000)
262 populate := func(db *DB) {
263 writer := db.NewWriteBatch()
264 for i := uint64(0); i < N; i++ {
265 require.NoError(t, writer.Set([]byte(key("key", int(i))), val(true)))
266 }
267 require.NoError(t, writer.Flush())
268 }
269
270 populate(db)
271 require.Equal(t, int(N), numKeys(db))
272 require.NoError(t, db.Close())
273
274 opts.ReadOnly = true
275 db2, err := Open(opts)
276 // acquireDirectoryLock returns ErrWindowsNotSupported on Windows. It can be ignored safely.
277 if runtime.GOOS == "windows" {
278 require.Equal(t, err, ErrWindowsNotSupported)
279 } else {
280 require.NoError(t, err)
281 require.Panics(t, func() { db2.DropAll() })
282 require.NoError(t, db2.Close())
283 }
284}
285
286func TestWriteAfterClose(t *testing.T) {
287 dir, err := ioutil.TempDir("", "badger-test")

Callers

nothing calls this directly

Calls 11

SetMethod · 0.95
FlushMethod · 0.95
removeDirFunction · 0.85
getTestOptionsFunction · 0.85
OpenFunction · 0.85
valFunction · 0.85
numKeysFunction · 0.85
NewWriteBatchMethod · 0.80
DropAllMethod · 0.80
keyFunction · 0.70
CloseMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…