forked from cerc-io/plugeth
cmd/devp2p/internal/v4test: ignore FINDNODE in BondThenPingWithWrongFrom (#26085)
This fixes a race in the test. Co-authored-by: Felix Lange <fjl@twurst.com>
This commit is contained in:
parent
055528ae05
commit
d629e02047
@ -256,6 +256,7 @@ func WrongPacketType(t *utesting.T) {
|
|||||||
func BondThenPingWithWrongFrom(t *utesting.T) {
|
func BondThenPingWithWrongFrom(t *utesting.T) {
|
||||||
te := newTestEnv(Remote, Listen1, Listen2)
|
te := newTestEnv(Remote, Listen1, Listen2)
|
||||||
defer te.close()
|
defer te.close()
|
||||||
|
|
||||||
bond(t, te)
|
bond(t, te)
|
||||||
|
|
||||||
wrongEndpoint := v4wire.Endpoint{IP: net.ParseIP("192.0.2.0")}
|
wrongEndpoint := v4wire.Endpoint{IP: net.ParseIP("192.0.2.0")}
|
||||||
@ -265,11 +266,26 @@ func BondThenPingWithWrongFrom(t *utesting.T) {
|
|||||||
To: te.remoteEndpoint(),
|
To: te.remoteEndpoint(),
|
||||||
Expiration: futureExpiration(),
|
Expiration: futureExpiration(),
|
||||||
})
|
})
|
||||||
if reply, _, err := te.read(te.l1); err != nil {
|
|
||||||
|
waitForPong:
|
||||||
|
for {
|
||||||
|
reply, _, err := te.read(te.l1)
|
||||||
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
} else if err := te.checkPong(reply, pingHash); err != nil {
|
}
|
||||||
|
switch reply.Kind() {
|
||||||
|
case v4wire.PongPacket:
|
||||||
|
if err := te.checkPong(reply, pingHash); err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
|
break waitForPong
|
||||||
|
case v4wire.FindnodePacket:
|
||||||
|
// FINDNODE from the node is acceptable here since the endpoint
|
||||||
|
// verification was performed earlier.
|
||||||
|
default:
|
||||||
|
t.Fatalf("Expected PONG, got %v %v", reply.Name(), reply)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// This test just sends FINDNODE. The remote node should not reply
|
// This test just sends FINDNODE. The remote node should not reply
|
||||||
|
Loading…
Reference in New Issue
Block a user