0
0

fix issues identified by errcheck

This commit is contained in:
Marty Schoch 2015-04-10 14:59:05 -04:00
parent 54ab493b3e
commit 5f66bd84c7
3 changed files with 225 additions and 42 deletions

View File

@ -35,9 +35,11 @@ func Open(path string, config map[string]interface{}) (*Store, error) {
opts: &opt.Options{},
}
applyConfig(rv.opts, config)
_, err := applyConfig(rv.opts, config)
if err != nil {
return nil, err
}
var err error
rv.db, err = leveldb.OpenFile(rv.path, rv.opts)
if err != nil {
return nil, err
@ -89,8 +91,7 @@ func (ldbs *Store) deletelocked(key []byte) error {
}
func (ldbs *Store) Close() error {
ldbs.db.Close()
return nil
return ldbs.db.Close()
}
func (ldbs *Store) iterator(key []byte) store.KVIterator {

View File

@ -22,25 +22,45 @@ var leveldbTestOptions = map[string]interface{}{
}
func TestLevelDBStore(t *testing.T) {
defer os.RemoveAll("test")
defer func() {
err := os.RemoveAll("test")
if err != nil {
t.Fatal(err)
}
}()
s, err := Open("test", leveldbTestOptions)
if err != nil {
t.Fatal(err)
}
defer s.Close()
defer func() {
err := s.Close()
if err != nil {
t.Fatal(err)
}
}()
CommonTestKVStore(t, s)
}
func TestReaderIsolation(t *testing.T) {
defer os.RemoveAll("test")
defer func() {
err := os.RemoveAll("test")
if err != nil {
t.Fatal(err)
}
}()
s, err := Open("test", leveldbTestOptions)
if err != nil {
t.Fatal(err)
}
defer s.Close()
defer func() {
err := s.Close()
if err != nil {
t.Fatal(err)
}
}()
CommonTestReaderIsolation(t, s)
}
@ -79,13 +99,21 @@ func CommonTestKVStore(t *testing.T, s store.KVStore) {
if err != nil {
t.Fatal(err)
}
writer.Close()
err = writer.Close()
if err != nil {
t.Fatal(err)
}
reader, err := s.Reader()
if err != nil {
t.Error(err)
}
defer reader.Close()
defer func() {
err := reader.Close()
if err != nil {
t.Fatal(err)
}
}()
it := reader.Iterator([]byte("b"))
key, val, valid := it.Current()
if !valid {
@ -122,7 +150,10 @@ func CommonTestKVStore(t *testing.T, s store.KVStore) {
t.Fatalf("expected value val-i, got %s", val)
}
it.Close()
err = it.Close()
if err != nil {
t.Fatal(err)
}
}
func CommonTestReaderIsolation(t *testing.T, s store.KVStore) {
@ -135,14 +166,22 @@ func CommonTestReaderIsolation(t *testing.T, s store.KVStore) {
if err != nil {
t.Fatal(err)
}
writer.Close()
err = writer.Close()
if err != nil {
t.Fatal(err)
}
// create an isolated reader
reader, err := s.Reader()
if err != nil {
t.Error(err)
}
defer reader.Close()
defer func() {
err := reader.Close()
if err != nil {
t.Fatal(err)
}
}()
// verify that we see the value already inserted
val, err := reader.Get([]byte("a"))
@ -156,7 +195,12 @@ func CommonTestReaderIsolation(t *testing.T, s store.KVStore) {
// verify that an iterator sees it
count := 0
it := reader.Iterator([]byte{0})
defer it.Close()
defer func() {
err := it.Close()
if err != nil {
t.Fatal(err)
}
}()
for it.Valid() {
it.Next()
count++
@ -174,14 +218,22 @@ func CommonTestReaderIsolation(t *testing.T, s store.KVStore) {
if err != nil {
t.Fatal(err)
}
writer.Close()
err = writer.Close()
if err != nil {
t.Fatal(err)
}
// ensure that a newer reader sees it
newReader, err := s.Reader()
if err != nil {
t.Error(err)
}
defer newReader.Close()
defer func() {
err := newReader.Close()
if err != nil {
t.Fatal(err)
}
}()
val, err = newReader.Get([]byte("b"))
if err != nil {
t.Error(err)
@ -193,7 +245,12 @@ func CommonTestReaderIsolation(t *testing.T, s store.KVStore) {
// ensure that the director iterator sees it
count = 0
it = newReader.Iterator([]byte{0})
defer it.Close()
defer func() {
err := it.Close()
if err != nil {
t.Fatal(err)
}
}()
for it.Valid() {
it.Next()
count++
@ -214,7 +271,12 @@ func CommonTestReaderIsolation(t *testing.T, s store.KVStore) {
// and ensure that the iterator on the isolated reader also does not
count = 0
it = reader.Iterator([]byte{0})
defer it.Close()
defer func() {
err := it.Close()
if err != nil {
t.Fatal(err)
}
}()
for it.Valid() {
it.Next()
count++

View File

@ -25,8 +25,18 @@ func BenchmarkLevelDBIndexing1Workers(b *testing.B) {
if err != nil {
b.Fatal(err)
}
defer os.RemoveAll("test")
defer s.Close()
defer func() {
err := os.RemoveAll("test")
if err != nil {
b.Fatal(err)
}
}()
defer func() {
err := s.Close()
if err != nil {
b.Fatal(err)
}
}()
CommonBenchmarkIndex(b, s, 1)
}
@ -36,8 +46,18 @@ func BenchmarkLevelDBIndexing2Workers(b *testing.B) {
if err != nil {
b.Fatal(err)
}
defer os.RemoveAll("test")
defer s.Close()
defer func() {
err := os.RemoveAll("test")
if err != nil {
b.Fatal(err)
}
}()
defer func() {
err := s.Close()
if err != nil {
b.Fatal(err)
}
}()
CommonBenchmarkIndex(b, s, 2)
}
@ -47,8 +67,18 @@ func BenchmarkLevelDBIndexing4Workers(b *testing.B) {
if err != nil {
b.Fatal(err)
}
defer os.RemoveAll("test")
defer s.Close()
defer func() {
err := os.RemoveAll("test")
if err != nil {
b.Fatal(err)
}
}()
defer func() {
err := s.Close()
if err != nil {
b.Fatal(err)
}
}()
CommonBenchmarkIndex(b, s, 4)
}
@ -60,8 +90,18 @@ func BenchmarkLevelDBIndexing1Workers10Batch(b *testing.B) {
if err != nil {
b.Fatal(err)
}
defer os.RemoveAll("test")
defer s.Close()
defer func() {
err := os.RemoveAll("test")
if err != nil {
b.Fatal(err)
}
}()
defer func() {
err := s.Close()
if err != nil {
b.Fatal(err)
}
}()
CommonBenchmarkIndexBatch(b, s, 1, 10)
}
@ -71,8 +111,18 @@ func BenchmarkLevelDBIndexing2Workers10Batch(b *testing.B) {
if err != nil {
b.Fatal(err)
}
defer os.RemoveAll("test")
defer s.Close()
defer func() {
err := os.RemoveAll("test")
if err != nil {
b.Fatal(err)
}
}()
defer func() {
err := s.Close()
if err != nil {
b.Fatal(err)
}
}()
CommonBenchmarkIndexBatch(b, s, 2, 10)
}
@ -82,8 +132,18 @@ func BenchmarkLevelDBIndexing4Workers10Batch(b *testing.B) {
if err != nil {
b.Fatal(err)
}
defer os.RemoveAll("test")
defer s.Close()
defer func() {
err := os.RemoveAll("test")
if err != nil {
b.Fatal(err)
}
}()
defer func() {
err := s.Close()
if err != nil {
b.Fatal(err)
}
}()
CommonBenchmarkIndexBatch(b, s, 4, 10)
}
@ -93,8 +153,18 @@ func BenchmarkLevelDBIndexing1Workers100Batch(b *testing.B) {
if err != nil {
b.Fatal(err)
}
defer os.RemoveAll("test")
defer s.Close()
defer func() {
err := os.RemoveAll("test")
if err != nil {
b.Fatal(err)
}
}()
defer func() {
err := s.Close()
if err != nil {
b.Fatal(err)
}
}()
CommonBenchmarkIndexBatch(b, s, 1, 100)
}
@ -104,8 +174,18 @@ func BenchmarkLevelDBIndexing2Workers100Batch(b *testing.B) {
if err != nil {
b.Fatal(err)
}
defer os.RemoveAll("test")
defer s.Close()
defer func() {
err := os.RemoveAll("test")
if err != nil {
b.Fatal(err)
}
}()
defer func() {
err := s.Close()
if err != nil {
b.Fatal(err)
}
}()
CommonBenchmarkIndexBatch(b, s, 2, 100)
}
@ -115,8 +195,18 @@ func BenchmarkLevelDBIndexing4Workers100Batch(b *testing.B) {
if err != nil {
b.Fatal(err)
}
defer os.RemoveAll("test")
defer s.Close()
defer func() {
err := os.RemoveAll("test")
if err != nil {
b.Fatal(err)
}
}()
defer func() {
err := s.Close()
if err != nil {
b.Fatal(err)
}
}()
CommonBenchmarkIndexBatch(b, s, 4, 100)
}
@ -126,8 +216,18 @@ func BenchmarkLevelDBIndexing1Workers1000Batch(b *testing.B) {
if err != nil {
b.Fatal(err)
}
defer os.RemoveAll("test")
defer s.Close()
defer func() {
err := os.RemoveAll("test")
if err != nil {
b.Fatal(err)
}
}()
defer func() {
err := s.Close()
if err != nil {
b.Fatal(err)
}
}()
CommonBenchmarkIndexBatch(b, s, 1, 1000)
}
@ -137,8 +237,18 @@ func BenchmarkLevelDBIndexing2Workers1000Batch(b *testing.B) {
if err != nil {
b.Fatal(err)
}
defer os.RemoveAll("test")
defer s.Close()
defer func() {
err := os.RemoveAll("test")
if err != nil {
b.Fatal(err)
}
}()
defer func() {
err := s.Close()
if err != nil {
b.Fatal(err)
}
}()
CommonBenchmarkIndexBatch(b, s, 2, 1000)
}
@ -148,8 +258,18 @@ func BenchmarkLevelDBIndexing4Workers1000Batch(b *testing.B) {
if err != nil {
b.Fatal(err)
}
defer os.RemoveAll("test")
defer s.Close()
defer func() {
err := os.RemoveAll("test")
if err != nil {
b.Fatal(err)
}
}()
defer func() {
err := s.Close()
if err != nil {
b.Fatal(err)
}
}()
CommonBenchmarkIndexBatch(b, s, 4, 1000)
}