func (s *session) setOptions(o *opt.Options) { s.o = &opt.Options{} if o != nil { *s.o = *o } // Alternative filters. if filters := o.GetAltFilters(); len(filters) > 0 { s.o.AltFilters = make([]filter.Filter, len(filters)) for i, filter := range filters { s.o.AltFilters[i] = &iFilter{filter} } } // Block cache. switch o.GetBlockCache() { case nil: s.o.BlockCache = cache.NewLRUCache(opt.DefaultBlockCacheSize) case opt.NoCache: s.o.BlockCache = nil } // Comparer. s.icmp = &iComparer{o.GetComparer()} s.o.Comparer = s.icmp // Filter. if filter := o.GetFilter(); filter != nil { s.o.Filter = &iFilter{filter} } }
func newDbCorruptHarness(t *testing.T) *dbCorruptHarness { h := new(dbCorruptHarness) h.init(t, &opt.Options{ BlockCache: cache.NewLRUCache(100), Strict: opt.StrictJournalChecksum, }) return h }
func TestCorruptDB_MissingManifest(t *testing.T) { rnd := rand.New(rand.NewSource(0x0badda7a)) h := newDbCorruptHarnessWopt(t, &opt.Options{ BlockCache: cache.NewLRUCache(100), Strict: opt.StrictJournalChecksum, WriteBuffer: 1000 * 60, }) h.build(1000) h.compactMem() h.buildShuffled(1000, rnd) h.compactMem() h.deleteRand(500, 1000, rnd) h.compactMem() h.buildShuffled(1000, rnd) h.compactMem() h.deleteRand(500, 1000, rnd) h.compactMem() h.buildShuffled(1000, rnd) h.compactMem() h.closeDB() h.stor.SetIgnoreOpenErr(storage.TypeManifest) h.removeAll(storage.TypeManifest) h.openAssert(false) h.stor.SetIgnoreOpenErr(0) h.recover() h.check(1000, 1000) h.build(1000) h.compactMem() h.compactRange("", "") h.closeDB() h.recover() h.check(1000, 1000) h.close() }
func newDbCorruptHarness(t *testing.T) *dbCorruptHarness { return newDbCorruptHarnessWopt(t, &opt.Options{ BlockCache: cache.NewLRUCache(100), Strict: opt.StrictJournalChecksum, }) }
// Creates new initialized table ops instance. func newTableOps(s *session, cacheCap int) *tOps { c := cache.NewLRUCache(cacheCap) ns := c.GetNamespace(0) return &tOps{s, c, ns} }