go-ethereum/p2p/discover
Charles Dusek e1fe4a1a98
p2p/discover: fix flaky TestUDPv5_findnodeHandling (#34109)
Fixes #34108

The UDPv5 test harness (`newUDPV5Test`) uses the default `PingInterval`
of 3 seconds. When tests like `TestUDPv5_findnodeHandling` insert nodes
into the routing table via `fillTable`, the table's revalidation loop
may schedule PING packets for those nodes. Under the race detector or on
slow CI runners, the test runs long enough for revalidation to fire,
causing background pings to be written to the test pipe. The `close()`
method then finds these as unmatched packets and fails.

The fix sets `PingInterval` to a very large value in the test harness so
revalidation never fires during tests.

Verified locally: 100 iterations with `-race -count=100` pass reliably,
where previously the test would fail within ~50 iterations.
2026-04-14 09:43:44 +02:00
..
v4wire
v5wire p2p/discover/v5wire: use Whoareyou.ChallengeData instead of storing encoded packet (#31547) 2026-02-22 21:58:47 +01:00
common.go
lookup.go
metrics.go
node.go
ntp.go
table.go p2p/discover: resolve DNS hostnames for bootstrap nodes (#34101) 2026-03-28 11:37:39 +01:00
table_reval.go
table_reval_test.go
table_test.go p2p/discover: resolve DNS hostnames for bootstrap nodes (#34101) 2026-03-28 11:37:39 +01:00
table_util_test.go
v4_lookup_test.go p2p/discover: fix flaky tests writing to test.log after completion (#30506) 2024-09-26 08:12:12 +02:00
v4_udp.go p2p/discover: expose discv5 functions for portal JSON-RPC interface (#31117) 2025-03-13 15:16:01 +01:00
v4_udp_test.go
v5_talk.go p2p/discover: pass node instead of node ID to TALKREQ handler (#31075) 2025-04-02 14:56:21 +02:00
v5_udp.go p2p/discover: remove delay from discv5 RandomNodes (#32517) 2025-09-10 19:51:04 +02:00
v5_udp_test.go p2p/discover: fix flaky TestUDPv5_findnodeHandling (#34109) 2026-04-14 09:43:44 +02:00