This commit is contained in:
hero5512 2026-05-21 21:57:42 -07:00 committed by GitHub
commit b5f9295310
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -281,8 +281,17 @@ func TestUDPv4_findnode(t *testing.T) {
// check that closest neighbors are returned. // check that closest neighbors are returned.
expected := test.table.findnodeByID(testTarget.ID(), bucketSize, true) expected := test.table.findnodeByID(testTarget.ID(), bucketSize, true)
test.packetIn(nil, &v4wire.Findnode{Target: testTarget, Expiration: futureExp}) test.packetIn(nil, &v4wire.Findnode{Target: testTarget, Expiration: futureExp})
waitNeighbors := func(want []*enode.Node) { deadline := time.Now().Add(1 * time.Minute)
test.waitPacketOut(func(p *v4wire.Neighbors, to netip.AddrPort, hash []byte) { var waitNeighbors func([]*enode.Node)
waitNeighbors = func(want []*enode.Node) {
if time.Now().After(deadline) {
t.Fatal("timeout waiting for neighbors response")
}
test.waitPacketOut(func(p v4wire.Packet, to netip.AddrPort, hash []byte) {
switch p := p.(type) {
case *v4wire.Ping:
waitNeighbors(want)
case *v4wire.Neighbors:
if len(p.Nodes) != len(want) { if len(p.Nodes) != len(want) {
t.Errorf("wrong number of results: got %d, want %d", len(p.Nodes), len(want)) t.Errorf("wrong number of results: got %d, want %d", len(p.Nodes), len(want))
return return
@ -295,6 +304,9 @@ func TestUDPv4_findnode(t *testing.T) {
t.Errorf("result includes dead node %v", n.ID.ID()) t.Errorf("result includes dead node %v", n.ID.ID())
} }
} }
default:
t.Fatalf("unexpected packet type: %T", p)
}
}) })
} }
// Receive replies. // Receive replies.