mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-08-20 02:42:27 +00:00
swarm/network: Implement t.Helper() in checkHealth
This commit is contained in:
parent
6a815a924c
commit
78905f5514
1 changed files with 14 additions and 36 deletions
|
|
@ -168,87 +168,66 @@ func TestHealthStrict(t *testing.T) {
|
||||||
// no peers
|
// no peers
|
||||||
// unhealthy (and lonely)
|
// unhealthy (and lonely)
|
||||||
k := newTestKademlia("11111111")
|
k := newTestKademlia("11111111")
|
||||||
if err := assertHealth(k, false, false); err != nil {
|
checkHealth(t, k, false, false)
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// know one peer but not connected
|
// know one peer but not connected
|
||||||
// unhealthy
|
// unhealthy
|
||||||
Register(k, "11100000")
|
Register(k, "11100000")
|
||||||
log.Trace(k.String())
|
log.Trace(k.String())
|
||||||
if err := assertHealth(k, false, false); err != nil {
|
checkHealth(t, k, false, false)
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// know one peer and connected
|
// know one peer and connected
|
||||||
// healthy
|
// healthy
|
||||||
On(k, "11100000")
|
On(k, "11100000")
|
||||||
if err := assertHealth(k, true, false); err != nil {
|
checkHealth(t, k, true, false)
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// know two peers, only one connected
|
// know two peers, only one connected
|
||||||
// unhealthy
|
// unhealthy
|
||||||
Register(k, "11111100")
|
Register(k, "11111100")
|
||||||
log.Trace(k.String())
|
log.Trace(k.String())
|
||||||
if err := assertHealth(k, false, false); err != nil {
|
checkHealth(t, k, false, false)
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// know two peers and connected to both
|
// know two peers and connected to both
|
||||||
// healthy
|
// healthy
|
||||||
On(k, "11111100")
|
On(k, "11111100")
|
||||||
if err := assertHealth(k, true, false); err != nil {
|
checkHealth(t, k, true, false)
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// know three peers, connected to the two deepest
|
// know three peers, connected to the two deepest
|
||||||
// healthy
|
// healthy
|
||||||
Register(k, "00000000")
|
Register(k, "00000000")
|
||||||
log.Trace(k.String())
|
log.Trace(k.String())
|
||||||
if err := assertHealth(k, true, false); err != nil {
|
checkHealth(t, k, true, false)
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// know three peers, connected to all three
|
// know three peers, connected to all three
|
||||||
// healthy
|
// healthy
|
||||||
On(k, "00000000")
|
On(k, "00000000")
|
||||||
if err := assertHealth(k, true, false); err != nil {
|
checkHealth(t, k, true, false)
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// add fourth peer deeper than current depth
|
// add fourth peer deeper than current depth
|
||||||
// unhealthy
|
// unhealthy
|
||||||
Register(k, "11110000")
|
Register(k, "11110000")
|
||||||
log.Trace(k.String())
|
log.Trace(k.String())
|
||||||
if err := assertHealth(k, false, false); err != nil {
|
checkHealth(t, k, false, false)
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// connected to three deepest peers
|
// connected to three deepest peers
|
||||||
// healthy
|
// healthy
|
||||||
On(k, "11110000")
|
On(k, "11110000")
|
||||||
if err := assertHealth(k, true, false); err != nil {
|
checkHealth(t, k, true, false)
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// add additional peer in same bin as deepest peer
|
// add additional peer in same bin as deepest peer
|
||||||
// unhealthy
|
// unhealthy
|
||||||
Register(k, "11111101")
|
Register(k, "11111101")
|
||||||
log.Trace(k.String())
|
log.Trace(k.String())
|
||||||
if err := assertHealth(k, false, false); err != nil {
|
checkHealth(t, k, false, false)
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
// four deepest of five peers connected
|
// four deepest of five peers connected
|
||||||
// healthy
|
// healthy
|
||||||
On(k, "11111101")
|
On(k, "11111101")
|
||||||
if err := assertHealth(k, true, false); err != nil {
|
checkHealth(t, k, true, false)
|
||||||
t.Fatal(err)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func assertHealth(k *Kademlia, expectHealthy bool, expectSaturation bool) error {
|
func checkHealth(t *testing.T, k *Kademlia, expectHealthy bool, expectSaturation bool) {
|
||||||
|
t.Helper()
|
||||||
kid := common.Bytes2Hex(k.BaseAddr())
|
kid := common.Bytes2Hex(k.BaseAddr())
|
||||||
addrs := [][]byte{k.BaseAddr()}
|
addrs := [][]byte{k.BaseAddr()}
|
||||||
k.EachAddr(nil, 255, func(addr *BzzAddr, po int, _ bool) bool {
|
k.EachAddr(nil, 255, func(addr *BzzAddr, po int, _ bool) bool {
|
||||||
|
|
@ -265,9 +244,8 @@ func assertHealth(k *Kademlia, expectHealthy bool, expectSaturation bool) error
|
||||||
// - we are connected to all known neighbors
|
// - we are connected to all known neighbors
|
||||||
health := healthParams.KnowNN && healthParams.GotNN && healthParams.CountKnowNN > 0
|
health := healthParams.KnowNN && healthParams.GotNN && healthParams.CountKnowNN > 0
|
||||||
if expectHealthy != health {
|
if expectHealthy != health {
|
||||||
return fmt.Errorf("expected kademlia health %v, is %v\n%v", expectHealthy, health, k.String())
|
t.Fatalf("expected kademlia health %v, is %v\n%v", expectHealthy, health, k.String())
|
||||||
}
|
}
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func testSuggestPeer(k *Kademlia, expAddr string, expPo int, expWant bool) error {
|
func testSuggestPeer(k *Kademlia, expAddr string, expPo int, expWant bool) error {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue