dpa_test fails, lots of fmt.Printf debugs inside.

This commit is contained in:
Daniel A. Nagy 2015-02-06 19:27:21 +01:00
parent dca79894d1
commit 85b1cf0a81
4 changed files with 83 additions and 6 deletions

View file

@ -7,13 +7,17 @@ import (
"github.com/ethereum/go-ethereum/bzz/test"
)
func testDbStore(l int64, branches int64, t *testing.T) {
func initDbStore() (m *dbStore) {
os.RemoveAll("/tmp/bzz")
m, err := newDbStore("/tmp/bzz")
if err != nil {
panic("no dbStore")
}
return
}
func testDbStore(l int64, branches int64, t *testing.T) {
m := initDbStore()
defer m.close()
testStore(m, l, branches, t)
}
@ -41,3 +45,14 @@ func TestDbStore2_100(t *testing.T) {
test.LogInit()
testDbStore(100, 2, t)
}
func TestDbStoreNotFound(t *testing.T) {
test.LogInit()
m := initDbStore()
defer m.close()
zeroKey := make([]byte, 32)
_, err := m.Get(zeroKey)
if err != notFound {
t.Errorf("Expected notFound, got %v", err)
}
}

View file

@ -4,6 +4,7 @@ import (
"errors"
"sync"
// "time"
"fmt"
ethlogger "github.com/ethereum/go-ethereum/logger"
// "github.com/ethereum/go-ethereum/rlp"
@ -69,7 +70,7 @@ type ChunkStore interface {
Get(Key) (*Chunk, error)
}
func (self *DPA) Retrieve(key Key) (data LazySectionReader, err error) {
func (self *DPA) Retrieve(key Key) (data LazySectionReader) {
reader, errC := self.Chunker.Join(key, self.retrieveC)
data = reader
@ -171,9 +172,14 @@ func (self *DPA) retrieveLoop() {
func (self *DPA) storeLoop() {
self.storeC = make(chan *Chunk)
go func() {
fmt.Printf("StoreLoop started.\n")
STORE:
for chunk := range self.storeC {
go self.ChunkStore.Put(chunk)
for {
chunk := <-self.storeC
fmt.Printf("StoreLoop reader size %d\n", chunk.Reader.Size())
chunk.Data = make([]byte, chunk.Reader.Size())
chunk.Reader.ReadAt(chunk.Data, 0)
self.ChunkStore.Put(chunk)
select {
case <-self.quitC:
break STORE

View file

@ -1,5 +1,51 @@
package bzz
import (
// "github.com/ethereum/go-ethereum/bzz/test"
//"bytes"
"fmt"
"github.com/ethereum/go-ethereum/bzz/test"
"os"
"testing"
"time"
)
func TestDPA(t *testing.T) {
test.LogInit()
os.RemoveAll("/tmp/bzz")
dbStore, err := newDbStore("/tmp/bzz")
if err != nil {
t.Errorf("DB error: %v", err)
}
// memStore := newMemStore(dbStore)
// localStore := &localStore{
// memStore,
// dbStore,
// }
chunker := &TreeChunker{}
chunker.Init()
dpa := &DPA{
Chunker: chunker,
ChunkStore: dbStore,
}
dpa.Start()
reader, slice := testDataReader(0x100)
fmt.Printf("Chunk size: %d.", len(slice))
//key, err := dpa.Store(reader)
_, err = dpa.Store(reader)
if err != nil {
t.Errorf("Store error: %v", err)
}
// resultReader := dpa.Retrieve(key)
// resultSlice := make([]byte, len(slice))
// n, err := resultReader.Read(resultSlice)
// if err != nil {
// t.Errorf("Retrieve error: %v", err)
// }
// if n != len(slice) {
// t.Errorf("Slice size error got %d, expected %d.", n, len(slice))
// }
// if !bytes.Equal(slice, resultSlice) {
// t.Errorf("Comparison error.")
// }
time.Sleep(time.Second)
}

View file

@ -34,3 +34,13 @@ func TestMemStore2_100(t *testing.T) {
test.LogInit()
testMemStore(100, 2, t)
}
func TestMemStoreNotFound(t *testing.T) {
test.LogInit()
m := newMemStore(nil)
zeroKey := make([]byte, 32)
_, err := m.Get(zeroKey)
if err != notFound {
t.Errorf("Expected notFound, got %v", err)
}
}