From ab24772bf0e8db087f92e072429812237b28c04c Mon Sep 17 00:00:00 2001 From: Marty Schoch Date: Tue, 7 Apr 2015 16:34:29 -0400 Subject: [PATCH] fix issues identified by errcheck part of #169 --- index/store/boltdb/store_test.go | 54 +++++++++++++---- index/store/cznicb/cznicb_test.go | 7 ++- index/store/forestdb/store_test.go | 89 +++++++++++++++++++++++------ index/store/gtreap/gtreap_test.go | 54 +++++++++++++---- index/store/inmem/store_test.go | 49 +++++++++++++--- index/store/leveldb/store_test.go | 68 +++++++++++++++++----- index/store/metrics/metrics_test.go | 54 +++++++++++++---- index/store/null/null_test.go | 7 ++- 8 files changed, 306 insertions(+), 76 deletions(-) diff --git a/index/store/boltdb/store_test.go b/index/store/boltdb/store_test.go index 8f92fc60..e25872ce 100644 --- a/index/store/boltdb/store_test.go +++ b/index/store/boltdb/store_test.go @@ -90,7 +90,12 @@ func CommonTestKVStore(t *testing.T, s store.KVStore) { 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 { @@ -153,7 +158,12 @@ func CommonTestReaderIsolation(t *testing.T, s store.KVStore) { 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")) @@ -167,7 +177,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++ @@ -195,7 +210,12 @@ func CommonTestReaderIsolation(t *testing.T, s store.KVStore) { 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) @@ -206,10 +226,15 @@ 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() - for it.Valid() { - it.Next() + it2 := newReader.Iterator([]byte{0}) + defer func() { + err := it2.Close() + if err != nil { + t.Fatal(err) + } + }() + for it2.Valid() { + it2.Next() count++ } if count != 2 { @@ -227,10 +252,15 @@ 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() - for it.Valid() { - it.Next() + it3 := reader.Iterator([]byte{0}) + defer func() { + err := it3.Close() + if err != nil { + t.Fatal(err) + } + }() + for it3.Valid() { + it3.Next() count++ } if count != 1 { diff --git a/index/store/cznicb/cznicb_test.go b/index/store/cznicb/cznicb_test.go index cbc5bc66..ca48e187 100644 --- a/index/store/cznicb/cznicb_test.go +++ b/index/store/cznicb/cznicb_test.go @@ -84,7 +84,12 @@ func CommonTestKVStore(t *testing.T, s store.KVStore) { 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 { diff --git a/index/store/forestdb/store_test.go b/index/store/forestdb/store_test.go index e6611634..31c83ac9 100644 --- a/index/store/forestdb/store_test.go +++ b/index/store/forestdb/store_test.go @@ -35,7 +35,12 @@ func TestForestDBStore(t *testing.T) { if err != nil { t.Fatal(err) } - defer s.Close() + defer func() { + err := s.Close() + if err != nil { + t.Fatal(err) + } + }() CommonTestKVStore(t, s) } @@ -56,7 +61,12 @@ func TestReaderIsolation(t *testing.T) { if err != nil { t.Fatal(err) } - defer s.Close() + defer func() { + err := s.Close() + if err != nil { + t.Fatal(err) + } + }() CommonTestReaderIsolation(t, s) } @@ -80,7 +90,12 @@ func TestRollbackSameHandle(t *testing.T) { if err != nil { t.Fatal(err) } - defer s.Close() + defer func() { + err := s.Close() + if err != nil { + t.Fatal(err) + } + }() writer, err := s.Writer() if err != nil { @@ -175,7 +190,12 @@ func TestRollbackNewHandle(t *testing.T) { if err != nil { t.Fatal(err) } - defer s.Close() + defer func() { + err := s.Close() + if err != nil { + t.Fatal(err) + } + }() writer, err := s.Writer() if err != nil { @@ -277,7 +297,12 @@ func TestRollbackOtherHandle(t *testing.T) { if err != nil { t.Fatal(err) } - defer s.Close() + defer func() { + err := s.Close() + if err != nil { + t.Fatal(err) + } + }() // open another handle at the same time s2, err := Open("testdir/test", true, nil) @@ -403,7 +428,12 @@ func CommonTestKVStore(t *testing.T, s store.KVStore) { 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 { @@ -466,7 +496,12 @@ func CommonTestReaderIsolation(t *testing.T, s store.KVStore) { if err != nil { t.Error(err) } - defer reader.Close() + defer func() { + err := reader.Close() + if err != nil { + t.Fatal(err) + } + }() // verify we see the value already inserted val, err := reader.Get([]byte("a")) @@ -480,7 +515,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++ @@ -508,7 +548,12 @@ func CommonTestReaderIsolation(t *testing.T, s store.KVStore) { 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) @@ -519,10 +564,15 @@ 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() - for it.Valid() { - it.Next() + it2 := newReader.Iterator([]byte{0}) + defer func() { + err := it2.Close() + if err != nil { + t.Fatal(err) + } + }() + for it2.Valid() { + it2.Next() count++ } if count != 2 { @@ -540,10 +590,15 @@ 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() - for it.Valid() { - it.Next() + it3 := reader.Iterator([]byte{0}) + defer func() { + err := it3.Close() + if err != nil { + t.Fatal(err) + } + }() + for it3.Valid() { + it3.Next() count++ } if count != 1 { diff --git a/index/store/gtreap/gtreap_test.go b/index/store/gtreap/gtreap_test.go index 5083ac72..19b568d1 100644 --- a/index/store/gtreap/gtreap_test.go +++ b/index/store/gtreap/gtreap_test.go @@ -79,7 +79,12 @@ func CommonTestKVStore(t *testing.T, s store.KVStore) { 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 { @@ -142,7 +147,12 @@ func CommonTestReaderIsolation(t *testing.T, s store.KVStore) { 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 +166,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++ @@ -185,7 +200,12 @@ func CommonTestReaderIsolation(t *testing.T, s store.KVStore) { 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) @@ -196,10 +216,15 @@ 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() - for it.Valid() { - it.Next() + it2 := newReader.Iterator([]byte{0}) + defer func() { + err := it2.Close() + if err != nil { + t.Fatal(err) + } + }() + for it2.Valid() { + it2.Next() count++ } if count != 2 { @@ -217,10 +242,15 @@ 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() - for it.Valid() { - it.Next() + it3 := reader.Iterator([]byte{0}) + defer func() { + err := it3.Close() + if err != nil { + t.Fatal(err) + } + }() + for it3.Valid() { + it3.Next() count++ } if count != 1 { diff --git a/index/store/inmem/store_test.go b/index/store/inmem/store_test.go index 47b9b666..b5d617de 100644 --- a/index/store/inmem/store_test.go +++ b/index/store/inmem/store_test.go @@ -21,7 +21,12 @@ func TestStore(t *testing.T) { if err != nil { t.Fatal(err) } - defer s.Close() + defer func() { + err := s.Close() + if err != nil { + t.Fatal(err) + } + }() CommonTestKVStore(t, s) } @@ -69,7 +74,12 @@ func CommonTestKVStore(t *testing.T, s store.KVStore) { 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 { @@ -132,7 +142,12 @@ func CommonTestReaderIsolation(t *testing.T, s store.KVStore) { 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")) @@ -146,7 +161,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,7 +194,12 @@ func CommonTestReaderIsolation(t *testing.T, s store.KVStore) { 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) @@ -186,7 +211,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++ @@ -207,7 +237,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++ diff --git a/index/store/leveldb/store_test.go b/index/store/leveldb/store_test.go index f723a8d1..ed920b1f 100644 --- a/index/store/leveldb/store_test.go +++ b/index/store/leveldb/store_test.go @@ -35,7 +35,12 @@ func TestLevelDBStore(t *testing.T) { if err != nil { t.Fatal(err) } - defer s.Close() + defer func() { + err := s.Close() + if err != nil { + t.Fatal(err) + } + }() CommonTestKVStore(t, s) } @@ -52,7 +57,12 @@ func TestReaderIsolation(t *testing.T) { if err != nil { t.Fatal(err) } - defer s.Close() + defer func() { + err := s.Close() + if err != nil { + t.Fatal(err) + } + }() CommonTestReaderIsolation(t, s) } @@ -100,7 +110,12 @@ func CommonTestKVStore(t *testing.T, s store.KVStore) { 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 { @@ -163,7 +178,12 @@ func CommonTestReaderIsolation(t *testing.T, s store.KVStore) { 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")) @@ -177,7 +197,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++ @@ -205,7 +230,12 @@ func CommonTestReaderIsolation(t *testing.T, s store.KVStore) { 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) @@ -216,10 +246,15 @@ 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() - for it.Valid() { - it.Next() + it2 := newReader.Iterator([]byte{0}) + defer func() { + err := it2.Close() + if err != nil { + t.Fatal(err) + } + }() + for it2.Valid() { + it2.Next() count++ } if count != 2 { @@ -237,10 +272,15 @@ 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() - for it.Valid() { - it.Next() + it3 := reader.Iterator([]byte{0}) + defer func() { + err := it3.Close() + if err != nil { + t.Fatal(err) + } + }() + for it3.Valid() { + it3.Next() count++ } if count != 1 { diff --git a/index/store/metrics/metrics_test.go b/index/store/metrics/metrics_test.go index e8eb8921..957aa9a6 100644 --- a/index/store/metrics/metrics_test.go +++ b/index/store/metrics/metrics_test.go @@ -127,7 +127,12 @@ func CommonTestKVStore(t *testing.T, s store.KVStore) { 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 { @@ -190,7 +195,12 @@ func CommonTestReaderIsolation(t *testing.T, s store.KVStore) { 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")) @@ -204,7 +214,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++ @@ -232,7 +247,12 @@ func CommonTestReaderIsolation(t *testing.T, s store.KVStore) { 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) @@ -243,10 +263,15 @@ 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() - for it.Valid() { - it.Next() + it2 := newReader.Iterator([]byte{0}) + defer func() { + err := it2.Close() + if err != nil { + t.Fatal(err) + } + }() + for it2.Valid() { + it2.Next() count++ } if count != 2 { @@ -264,10 +289,15 @@ 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() - for it.Valid() { - it.Next() + it3 := reader.Iterator([]byte{0}) + defer func() { + err := it3.Close() + if err != nil { + t.Fatal(err) + } + }() + for it3.Valid() { + it3.Next() count++ } if count != 1 { diff --git a/index/store/null/null_test.go b/index/store/null/null_test.go index de149089..358cb06c 100644 --- a/index/store/null/null_test.go +++ b/index/store/null/null_test.go @@ -58,7 +58,12 @@ func CommonTestKVStore(t *testing.T, s store.KVStore) { 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 {