swarm/network: attempt to fix hive persistance test

This commit is contained in:
zelig 2019-03-26 04:29:44 +01:00
parent b35146776c
commit d8f4011d50
3 changed files with 14 additions and 7 deletions

View file

@ -23,6 +23,7 @@ import (
"time" "time"
"github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/log"
p2ptest "github.com/ethereum/go-ethereum/p2p/testing" p2ptest "github.com/ethereum/go-ethereum/p2p/testing"
"github.com/ethereum/go-ethereum/swarm/state" "github.com/ethereum/go-ethereum/swarm/state"
) )
@ -111,7 +112,7 @@ func TestHiveStatePersistance(t *testing.T) {
dir, err := ioutil.TempDir("", "hive_test_store") dir, err := ioutil.TempDir("", "hive_test_store")
if err != nil { if err != nil {
panic(err) t.Fatal(err)
} }
defer os.RemoveAll(dir) defer os.RemoveAll(dir)
@ -121,6 +122,8 @@ func TestHiveStatePersistance(t *testing.T) {
} }
params := NewHiveParams() params := NewHiveParams()
params.Discovery = false
s, pp, err := newHiveTester(t, params, 5, store) s, pp, err := newHiveTester(t, params, 5, store)
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
@ -129,6 +132,7 @@ func TestHiveStatePersistance(t *testing.T) {
for _, node := range s.Nodes { for _, node := range s.Nodes {
raddr := NewAddr(node) raddr := NewAddr(node)
pp.Register(raddr) pp.Register(raddr)
log.Warn("add", "addr", raddr.String())
peers[raddr.String()] = true peers[raddr.String()] = true
} }
@ -156,12 +160,11 @@ func TestHiveStatePersistance(t *testing.T) {
pp.Start(s1.Server) pp.Start(s1.Server)
i := 0 i := 0
pp.Kademlia.EachAddr(nil, 256, func(addr *BzzAddr, po int) bool { pp.Kademlia.EachAddr(nil, 256, func(addr *BzzAddr, po int) bool {
log.Warn("check", "addr", addr.String())
delete(peers, addr.String()) delete(peers, addr.String())
i++ i++
return true return true
}) })
// TODO remove this line when verified that test passes
time.Sleep(time.Second)
if i != 5 { if i != 5 {
t.Fatalf("invalid number of entries: got %v, want %v", i, 5) t.Fatalf("invalid number of entries: got %v, want %v", i, 5)
} }

View file

@ -20,6 +20,7 @@ import (
"context" "context"
"errors" "errors"
"fmt" "fmt"
"math/rand"
"sync" "sync"
"time" "time"
@ -37,6 +38,8 @@ const (
bzzHandshakeTimeout = 3000 * time.Millisecond bzzHandshakeTimeout = 3000 * time.Millisecond
) )
var DefaultTestNetworkID = rand.Uint64()
// BzzSpec is the spec of the generic swarm handshake // BzzSpec is the spec of the generic swarm handshake
var BzzSpec = &protocols.Spec{ var BzzSpec = &protocols.Spec{
Name: "bzz", Name: "bzz",

View file

@ -36,10 +36,11 @@ import (
) )
const ( const (
TestProtocolVersion = 8 TestProtocolVersion = 8
TestProtocolNetworkID = 3
) )
var TestProtocolNetworkID = DefaultTestNetworkID
var ( var (
loglevel = flag.Int("loglevel", 2, "verbosity of logs") loglevel = flag.Int("loglevel", 2, "verbosity of logs")
) )
@ -149,7 +150,7 @@ func newBzz(addr *BzzAddr, lightNode bool) *Bzz {
OverlayAddr: addr.Over(), OverlayAddr: addr.Over(),
UnderlayAddr: addr.Under(), UnderlayAddr: addr.Under(),
HiveParams: NewHiveParams(), HiveParams: NewHiveParams(),
NetworkID: DefaultNetworkID, NetworkID: DefaultTestNetworkID,
LightNode: lightNode, LightNode: lightNode,
} }
kad := NewKademlia(addr.OAddr, NewKadParams()) kad := NewKademlia(addr.OAddr, NewKadParams())
@ -232,7 +233,7 @@ func TestBzzHandshakeNetworkIDMismatch(t *testing.T) {
err = s.testHandshake( err = s.testHandshake(
correctBzzHandshake(s.addr, lightNode), correctBzzHandshake(s.addr, lightNode),
&HandshakeMsg{Version: TestProtocolVersion, NetworkID: 321, Addr: NewAddr(node)}, &HandshakeMsg{Version: TestProtocolVersion, NetworkID: 321, Addr: NewAddr(node)},
&p2ptest.Disconnect{Peer: node.ID(), Error: fmt.Errorf("Handshake error: Message handler error: (msg code 0): network id mismatch 321 (!= 3)")}, &p2ptest.Disconnect{Peer: node.ID(), Error: fmt.Errorf("Handshake error: Message handler error: (msg code 0): network id mismatch 321 (!= %v)", TestProtocolNetworkID)},
) )
if err != nil { if err != nil {