mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-20 11:46:44 +00:00
dpa_test fails, lots of fmt.Printf debugs inside.
This commit is contained in:
parent
dca79894d1
commit
85b1cf0a81
4 changed files with 83 additions and 6 deletions
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
12
bzz/dpa.go
12
bzz/dpa.go
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue