From 51adbcde3951c88e55e3e8a5dcfa365900b2eb28 Mon Sep 17 00:00:00 2001 From: Janos Guljas Date: Tue, 16 Jan 2018 18:50:19 +0100 Subject: [PATCH] swarm/storage: Comment test functions and improve error handling --- swarm/storage/dbstore_test.go | 2 ++ swarm/storage/mock/db/db.go | 8 ++++---- swarm/storage/mock/db/db_test.go | 4 ++++ swarm/storage/mock/mem/mem.go | 8 ++++---- swarm/storage/mock/mem/mem_test.go | 5 +++++ swarm/storage/mock/rpc/rpc_test.go | 2 ++ 6 files changed, 21 insertions(+), 8 deletions(-) diff --git a/swarm/storage/dbstore_test.go b/swarm/storage/dbstore_test.go index 99b09c7de8..48e8f9a092 100644 --- a/swarm/storage/dbstore_test.go +++ b/swarm/storage/dbstore_test.go @@ -205,6 +205,8 @@ func initMockDbStore(t *testing.T, mockStore *mock.NodeStore) *DbStore { return m } +// testMockDbStore runs the same tests as testDbStore but with mock store configured. +// It also verifies if mock global store is storing the chunk data. func testMockDbStore(l int64, branches int64, t *testing.T) { globalStore := mem.NewGlobalStore() addr := common.HexToAddress("0x5aaeb6053f3e94c9b9a09f33669435e7ef1beaed") diff --git a/swarm/storage/mock/db/db.go b/swarm/storage/mock/db/db.go index 335f1e9a81..43bfa24f05 100644 --- a/swarm/storage/mock/db/db.go +++ b/swarm/storage/mock/db/db.go @@ -66,7 +66,7 @@ func (s *GlobalStore) NewNodeStore(addr common.Address) *mock.NodeStore { func (s *GlobalStore) Get(addr common.Address, key []byte) (data []byte, err error) { has, err := s.db.Has(nodeDBKey(addr, key), nil) if err != nil { - has = false + return nil, mock.ErrNotFound } if !has { return nil, mock.ErrNotFound @@ -102,10 +102,10 @@ func (s *GlobalStore) Import(r io.Reader) (n int, err error) { for { hdr, err := tr.Next() - if err == io.EOF { - break - } if err != nil { + if err == io.EOF { + break + } return n, err } diff --git a/swarm/storage/mock/db/db_test.go b/swarm/storage/mock/db/db_test.go index a3a34ee659..2855e2f298 100644 --- a/swarm/storage/mock/db/db_test.go +++ b/swarm/storage/mock/db/db_test.go @@ -24,6 +24,8 @@ import ( "github.com/ethereum/go-ethereum/swarm/storage/mock/test" ) +// TestDBStore is running a test.MockStore tests +// using test.MockStore function. func TestDBStore(t *testing.T) { dir, err := ioutil.TempDir("", "mock_"+t.Name()) if err != nil { @@ -40,6 +42,8 @@ func TestDBStore(t *testing.T) { test.MockStore(t, store, 100) } +// TestImportExport is running a test.ImportExport tests +// using test.MockStore function. func TestImportExport(t *testing.T) { dir1, err := ioutil.TempDir("", "mock_"+t.Name()+"_exporter") if err != nil { diff --git a/swarm/storage/mock/mem/mem.go b/swarm/storage/mock/mem/mem.go index c6cbeb7c1a..8878309d0e 100644 --- a/swarm/storage/mock/mem/mem.go +++ b/swarm/storage/mock/mem/mem.go @@ -102,10 +102,10 @@ func (s *GlobalStore) Import(r io.Reader) (n int, err error) { for { hdr, err := tr.Next() - if err == io.EOF { - break - } if err != nil { + if err == io.EOF { + break + } return n, err } @@ -133,7 +133,7 @@ func (s *GlobalStore) Import(r io.Reader) (n int, err error) { } // Export writes to a writer a tar archive with all chunk data from -// the store. It returns the number fo chunks exported and an error. +// the store. It returns the number of chunks exported and an error. func (s *GlobalStore) Export(w io.Writer) (n int, err error) { s.mu.Lock() defer s.mu.Unlock() diff --git a/swarm/storage/mock/mem/mem_test.go b/swarm/storage/mock/mem/mem_test.go index 80c70968dd..b93471c446 100644 --- a/swarm/storage/mock/mem/mem_test.go +++ b/swarm/storage/mock/mem/mem_test.go @@ -22,10 +22,15 @@ import ( "github.com/ethereum/go-ethereum/swarm/storage/mock/test" ) +// TestDBStore is running test for a GlobalStore +// using test.MockStore function. func TestMemStore(t *testing.T) { test.MockStore(t, NewGlobalStore(), 100) } +// TestImportExport is running tests for importing and +// exporting data between two GlobalStores +// using test.ImportExport function. func TestImportExport(t *testing.T) { test.ImportExport(t, NewGlobalStore(), NewGlobalStore(), 100) } diff --git a/swarm/storage/mock/rpc/rpc_test.go b/swarm/storage/mock/rpc/rpc_test.go index a53af19847..52b634a445 100644 --- a/swarm/storage/mock/rpc/rpc_test.go +++ b/swarm/storage/mock/rpc/rpc_test.go @@ -24,6 +24,8 @@ import ( "github.com/ethereum/go-ethereum/swarm/storage/mock/test" ) +// TestDBStore is running test for a GlobalStore +// using test.MockStore function. func TestRPCStore(t *testing.T) { serverStore := mem.NewGlobalStore()