swarm: revert changes to mock/db

This commit is contained in:
Anton Evangelatov 2018-11-20 13:50:07 +01:00
parent 045aceef6a
commit dda8255bbd
5 changed files with 44 additions and 14 deletions

View file

@ -69,13 +69,19 @@ func init() {
log.Root().SetHandler(log.LvlFilterHandler(log.Lvl(*loglevel), log.StreamHandler(colorable.NewColorableStderr(), log.TerminalFormat(true)))) log.Root().SetHandler(log.LvlFilterHandler(log.Lvl(*loglevel), log.StreamHandler(colorable.NewColorableStderr(), log.TerminalFormat(true))))
} }
func createGlobalStore() (*mockdb.GlobalStore, error) { func createGlobalStore() (string, *mockdb.GlobalStore, error) {
globalStore, err := mockdb.NewGlobalStore() var globalStore *mockdb.GlobalStore
globalStoreDir, err := ioutil.TempDir("", "global.store")
if err != nil {
log.Error("Error initiating global store temp directory!", "err", err)
return "", nil, err
}
globalStore, err = mockdb.NewGlobalStore(globalStoreDir)
if err != nil { if err != nil {
log.Error("Error initiating global store!", "err", err) log.Error("Error initiating global store!", "err", err)
return nil, err return "", nil, err
} }
return globalStore, nil return globalStoreDir, globalStore, nil
} }
func newStreamerTester(t *testing.T, registryOptions *RegistryOptions) (*p2ptest.ProtocolTester, *Registry, *storage.LocalStore, func(), error) { func newStreamerTester(t *testing.T, registryOptions *RegistryOptions) (*p2ptest.ProtocolTester, *Registry, *storage.LocalStore, func(), error) {

View file

@ -268,13 +268,15 @@ func runSim(conf *synctestConfig, ctx context.Context, sim *simulation.Simulatio
// File retrieval check is repeated until all uploaded files are retrieved from all nodes // File retrieval check is repeated until all uploaded files are retrieved from all nodes
// or until the timeout is reached. // or until the timeout is reached.
var gDir string
var globalStore *mockdb.GlobalStore var globalStore *mockdb.GlobalStore
if *useMockStore { if *useMockStore {
globalStore, err = createGlobalStore() gDir, globalStore, err = createGlobalStore()
if err != nil { if err != nil {
return fmt.Errorf("Something went wrong; using mockStore enabled but globalStore is nil") return fmt.Errorf("Something went wrong; using mockStore enabled but globalStore is nil")
} }
defer func() { defer func() {
os.RemoveAll(gDir)
err := globalStore.Close() err := globalStore.Close()
if err != nil { if err != nil {
log.Error("Error closing global store! %v", "err", err) log.Error("Error closing global store! %v", "err", err)
@ -474,12 +476,14 @@ func testSyncingViaDirectSubscribe(t *testing.T, chunkCount int, nodeCount int)
return err return err
} }
var gDir string
var globalStore *mockdb.GlobalStore var globalStore *mockdb.GlobalStore
if *useMockStore { if *useMockStore {
globalStore, err = createGlobalStore() gDir, globalStore, err = createGlobalStore()
if err != nil { if err != nil {
return fmt.Errorf("Something went wrong; using mockStore enabled but globalStore is nil") return fmt.Errorf("Something went wrong; using mockStore enabled but globalStore is nil")
} }
defer os.RemoveAll(gDir)
} }
// File retrieval check is repeated until all uploaded files are retrieved from all nodes // File retrieval check is repeated until all uploaded files are retrieved from all nodes
// or until the timeout is reached. // or until the timeout is reached.

View file

@ -71,7 +71,7 @@ func testSyncBetweenNodes(t *testing.T, nodes, conns, chunkCount int, skipCheck
"streamer": func(ctx *adapters.ServiceContext, bucket *sync.Map) (s node.Service, cleanup func(), err error) { "streamer": func(ctx *adapters.ServiceContext, bucket *sync.Map) (s node.Service, cleanup func(), err error) {
var store storage.ChunkStore var store storage.ChunkStore
var globalStore *mockdb.GlobalStore var globalStore *mockdb.GlobalStore
var datadir string var gDir, datadir string
node := ctx.Config.Node() node := ctx.Config.Node()
addr := network.NewAddr(node) addr := network.NewAddr(node)
@ -79,7 +79,7 @@ func testSyncBetweenNodes(t *testing.T, nodes, conns, chunkCount int, skipCheck
addr.OAddr[0] = byte(0) addr.OAddr[0] = byte(0)
if *useMockStore { if *useMockStore {
globalStore, err = createGlobalStore() gDir, globalStore, err = createGlobalStore()
if err != nil { if err != nil {
return nil, nil, fmt.Errorf("Something went wrong; using mockStore enabled but globalStore is nil") return nil, nil, fmt.Errorf("Something went wrong; using mockStore enabled but globalStore is nil")
} }
@ -99,6 +99,7 @@ func testSyncBetweenNodes(t *testing.T, nodes, conns, chunkCount int, skipCheck
if err != nil { if err != nil {
log.Error("Error closing global store! %v", "err", err) log.Error("Error closing global store! %v", "err", err)
} }
os.RemoveAll(gDir)
} }
} }
localStore := store.(*storage.LocalStore) localStore := store.(*storage.LocalStore)

View file

@ -25,7 +25,6 @@ import (
"io/ioutil" "io/ioutil"
"github.com/syndtr/goleveldb/leveldb" "github.com/syndtr/goleveldb/leveldb"
"github.com/syndtr/goleveldb/leveldb/storage"
"github.com/syndtr/goleveldb/leveldb/util" "github.com/syndtr/goleveldb/leveldb/util"
"github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common"
@ -41,8 +40,8 @@ type GlobalStore struct {
} }
// NewGlobalStore creates a new instance of GlobalStore. // NewGlobalStore creates a new instance of GlobalStore.
func NewGlobalStore() (s *GlobalStore, err error) { func NewGlobalStore(path string) (s *GlobalStore, err error) {
db, err := leveldb.Open(storage.NewMemStorage(), nil) db, err := leveldb.OpenFile(path, nil)
if err != nil { if err != nil {
return nil, err return nil, err
} }

View file

@ -19,6 +19,8 @@
package db package db
import ( import (
"io/ioutil"
"os"
"testing" "testing"
"github.com/ethereum/go-ethereum/swarm/storage/mock/test" "github.com/ethereum/go-ethereum/swarm/storage/mock/test"
@ -27,7 +29,13 @@ import (
// TestDBStore is running a test.MockStore tests // TestDBStore is running a test.MockStore tests
// using test.MockStore function. // using test.MockStore function.
func TestDBStore(t *testing.T) { func TestDBStore(t *testing.T) {
store, err := NewGlobalStore() dir, err := ioutil.TempDir("", "mock_"+t.Name())
if err != nil {
panic(err)
}
defer os.RemoveAll(dir)
store, err := NewGlobalStore(dir)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -39,13 +47,25 @@ func TestDBStore(t *testing.T) {
// TestImportExport is running a test.ImportExport tests // TestImportExport is running a test.ImportExport tests
// using test.MockStore function. // using test.MockStore function.
func TestImportExport(t *testing.T) { func TestImportExport(t *testing.T) {
store1, err := NewGlobalStore() dir1, err := ioutil.TempDir("", "mock_"+t.Name()+"_exporter")
if err != nil {
panic(err)
}
defer os.RemoveAll(dir1)
store1, err := NewGlobalStore(dir1)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
defer store1.Close() defer store1.Close()
store2, err := NewGlobalStore() dir2, err := ioutil.TempDir("", "mock_"+t.Name()+"_importer")
if err != nil {
panic(err)
}
defer os.RemoveAll(dir2)
store2, err := NewGlobalStore(dir2)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }