This updates coverage in test/functional/p2p_compactblocks.py for the
requested far-ahead CMPCTBLOCK path.
The test now targets a discriminating invariant:
- Build a 3-block extension from tip.
- Send
HEADERSfor all 3 blocks so block 3 is already requested from the same peer. - Send
CMPCTBLOCKfor block 3. - Assert the node sends one additional
getdatafor block 3 (retry path).
The precondition waits on per-hash getdata counters under p2p_lock, so it
does not depend on all inventory entries arriving in a single getdata
message.
This distinguishes current behavior from the #34618 removal diff:
- current code: pass
- with #34618 removal diff applied to
src/net_processing.cpp: fail atsaw_exactly_one_retrytimeout
Tested:
python3 test/functional/p2p_compactblocks.py --configfile=build/test/config.ini(pass)- apply local #34618 removal diff in
src/net_processing.cpp, rebuild, rerun same test (fails atsaw_exactly_one_retry) - revert
src/net_processing.cpp, rebuild
Ref #34618