Merge bitcoin/bitcoin#34429: test: Check that redundant verack message is ignored

fafdae46ff0b02d93d5fcff35f1185627d11d76a test: Check that redundant verack message is ignored (MarcoFalke)

Pull request description:

  The code exists and is uncovered (ref https://maflcko.github.io/b-c-cov/total.coverage/src/net_processing.cpp.gcov.html#L3795), so add a trivial test to cover it.

ACKs for top commit:
  brunoerg:
    ACK fafdae46ff0b02d93d5fcff35f1185627d11d76a
  sedited:
    ACK fafdae46ff0b02d93d5fcff35f1185627d11d76a

Tree-SHA512: 157f434c2faa16243890b2344c4ee36bc359e56c80ba8a04f0bba71e9760cf9106c38ed755ff57eff8d1957f35516d20b3d010e0ecb8633b845f5314cc0d050a
This commit is contained in:
merge-script 2026-01-30 09:40:57 +01:00
commit 0d1d393877
No known key found for this signature in database
GPG Key ID: 9B79B45691DB4173

View File

@ -16,6 +16,7 @@ from test_framework.messages import (
NODE_NONE, NODE_NONE,
NODE_P2P_V2, NODE_P2P_V2,
NODE_WITNESS, NODE_WITNESS,
msg_verack,
) )
from test_framework.p2p import P2PInterface from test_framework.p2p import P2PInterface
from test_framework.util import p2p_port from test_framework.util import p2p_port
@ -72,6 +73,13 @@ class P2PHandshakeTest(BitcoinTestFramework):
def run_test(self): def run_test(self):
node = self.nodes[0] node = self.nodes[0]
self.log.info("Check that redundant verack message is ignored")
verack_conn = node.add_p2p_connection(P2PInterface())
with node.assert_debug_log(["ignoring redundant verack message"]):
verack_conn.send_and_ping(msg_verack())
node.disconnect_p2ps()
self.log.info("Check that lacking desired service flags leads to disconnect (non-pruned peers)") self.log.info("Check that lacking desired service flags leads to disconnect (non-pruned peers)")
self.test_desirable_service_flags(node, [NODE_NONE, NODE_NETWORK, NODE_WITNESS], self.test_desirable_service_flags(node, [NODE_NONE, NODE_NETWORK, NODE_WITNESS],
DESIRABLE_SERVICE_FLAGS_FULL, expect_disconnect=True) DESIRABLE_SERVICE_FLAGS_FULL, expect_disconnect=True)