Skip to content

test: Category B 5.1 P2P journeys (feeler, inbound-full, compact/orphan, GetAddr cache) - #478

Merged
reardencode merged 3 commits into
masterfrom
test/p2p-feeler-inbound
Sep 13, 2026
Merged

test: Category B 5.1 P2P journeys (feeler, inbound-full, compact/orphan, GetAddr cache)#478
reardencode merged 3 commits into
masterfrom
test/p2p-feeler-inbound

Conversation

@rearden-grok

@rearden-grok rearden-grok Bot commented Sep 13, 2026

Copy link
Copy Markdown
Contributor

Summary

Testing-audit Category B 5.1 (P2P wire) on one PR. Fewer default journeys, more asserts, overlapping guts deleted.

  • p2p_timeout_getaddr_and_keepalive_ping: existing ping / v1-magic / AddrFetch, plus full-relay GetAddr 1000, headers-sync stall replace (mock past download timeout), self-connect refuses. AddrFetch still uses a 1-addr book after cache expiry so n > 1 does not ban.
  • p2p_compact_hb_getblocktxn_and_orphan (replaces three tests): one mature pad — HB coinbase compact, 2-tx compact → getblocktxn + connect, orphan child GetData then parent accept (INV of parked child is AlreadyHave).
  • p2p_feeler_completes_and_closes / p2p_inbound_full_rejects_extra: unchanged contracts from the first commits.
  • Folded guts: coinbase-no-mempool reconstruct, cmpct_announce helper, apply-blocktxn helper, parked-orphan INV, four GetAddr cache tests → one bind-key/TTL table, feeler + self-connect log-string pins.
  • Kept: feeler silence timeout, eviction ranking, park-not-reject logs, tokio-worker lock, depth-10 / serve_inflight / catch-up compact, AddrMan 23% floor, remaining obsolete/pre-verack format needles.

Test plan

  • p2p_timeout_getaddr_and_keepalive_ping
  • p2p_compact_hb_getblocktxn_and_orphan
  • p2p_feeler_completes_and_closes / p2p_inbound_full_rejects_extra
  • getaddr_cache_bind_key_and_ttl / remaining parked_orphan / compact helper units
  • Required CI green (fmt, deny, clippy, ast-grep, test, windows, macos, multinode, coverage)

Made with Cursor

rbitcoin-grok and others added 3 commits September 12, 2026 20:17
Default P2P journeys: feeler VERSION then close (no live follow), and
max_inbound=1 refuses a second follow while the first stays. Drop the
feeler log-string pin; keep silence timeout and eviction ranking units.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Clippy single_match on the max_inbound=1 second-follow arm.

Co-authored-by: Cursor <cursoragent@cursor.com>
@reardencode
reardencode merged commit 9fc7985 into master Sep 13, 2026
16 checks passed
@rearden-grok rearden-grok Bot changed the title test: default outbound feeler complete-and-close and inbound-full reject test: Category B 5.1 P2P journeys (feeler, inbound-full, compact/orphan, GetAddr cache) Sep 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant