func initGet() { init := func(st crawler.Store) { for i := 0; i < bench_get_size; i++ { now := time.Now().UTC() st.PutNX(&crawler.URL{ URL: *mustParse(fmt.Sprintf("http://example.com/foo/bar/%d", i)), Last: now, }) } } testMem.once.Do(func() { testMem.store = crawler.NewMemStore() init(testMem.store) }) testBolt.once.Do(func() { os.Remove(tmpbolt) testBolt.store, _ = boltstore.New(tmpbolt, nil, nil) init(testBolt.store) }) testLevel.once.Do(func() { os.RemoveAll(tmplevel) testLevel.store, _ = levelstore.New(tmplevel, nil, nil) init(testLevel.store) }) }
func TestLevel(t *testing.T) { tmpdir, err := ioutil.TempDir("", "test_level") if err != nil { t.Fatal(err) } defer os.RemoveAll(tmpdir) ls, err := levelstore.New(tmpdir, nil, nil) if err != nil { t.Fatal(err) } StoreTest(t, ls) }
func BenchmarkLevelPut(b *testing.B) { tmpdir, err := ioutil.TempDir("", "test_level") if err != nil { b.Fatal(err) } defer os.RemoveAll(tmpdir) ls, err := levelstore.New(tmpdir, nil, nil) if err != nil { b.Fatal(err) } // b.N = 500 benchPut(b, ls, "LevelStore") }