mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-03-05 14:06:27 -05:00
Merge bitcoin/bitcoin#21785: test: Fix intermittent issue in p2p_addr_relay.py
faa51ef4d3
test: Fix intermittent issue in p2p_addr_relay.py (MarcoFalke)fa37116c82
test: Use self.send_addr_msg (MarcoFalke) Pull request description: Fixes https://github.com/bitcoin/bitcoin/pull/21707/files#r621048952 ACKs for top commit: mzumsande: ACKfaa51ef4d3
amitiuttarwar: ACKfaa51ef4d3
Tree-SHA512: b1fbc1a4a13b020890b465083a82762981de17dd710388c651353aefc28dee23d39803c2a1dadbf88287e92598901afcb01b488115b0fecd746ab6d73775415b
This commit is contained in:
commit
7f37a1d560
4 changed files with 13 additions and 13 deletions
|
@ -82,7 +82,7 @@ class AddrTest(BitcoinTestFramework):
|
|||
self.mocktime += 5 * 60
|
||||
self.nodes[0].setmocktime(self.mocktime)
|
||||
for peer in receivers:
|
||||
peer.sync_with_ping()
|
||||
peer.sync_send_with_ping()
|
||||
|
||||
def oversized_addr_test(self):
|
||||
self.log.info('Send an addr message that is too large')
|
||||
|
@ -203,10 +203,7 @@ class AddrTest(BitcoinTestFramework):
|
|||
self.log.info('Check that we relay address messages')
|
||||
addr_source = self.nodes[0].add_p2p_connection(P2PInterface())
|
||||
msg = self.setup_addr_msg(2)
|
||||
addr_source.send_and_ping(msg)
|
||||
self.mocktime += 5 * 60
|
||||
self.nodes[0].setmocktime(self.mocktime)
|
||||
full_outbound_peer.sync_with_ping()
|
||||
self.send_addr_msg(addr_source, msg, [full_outbound_peer])
|
||||
assert_equal(full_outbound_peer.num_ipv4_received, 2)
|
||||
|
||||
self.nodes[0].disconnect_p2ps()
|
||||
|
|
|
@ -89,11 +89,7 @@ class P2PBlocksOnly(BitcoinTestFramework):
|
|||
# Bump time forward to ensure nNextInvSend timer pops
|
||||
self.nodes[0].setmocktime(int(time.time()) + 60)
|
||||
|
||||
# Calling sync_with_ping twice requires that the node calls
|
||||
# `ProcessMessage` twice, and thus ensures `SendMessages` must have
|
||||
# been called at least once
|
||||
conn.sync_with_ping()
|
||||
conn.sync_with_ping()
|
||||
conn.sync_send_with_ping()
|
||||
assert(int(txid, 16) not in conn.get_invs())
|
||||
|
||||
def check_p2p_tx_violation(self, index=1):
|
||||
|
|
|
@ -174,8 +174,7 @@ class FilterTest(BitcoinTestFramework):
|
|||
filter_peer.merkleblock_received = False
|
||||
filter_peer.tx_received = False
|
||||
self.nodes[0].sendtoaddress(self.nodes[0].getnewaddress(), 90)
|
||||
filter_peer.sync_with_ping()
|
||||
filter_peer.sync_with_ping()
|
||||
filter_peer.sync_send_with_ping()
|
||||
assert not filter_peer.merkleblock_received
|
||||
assert not filter_peer.tx_received
|
||||
|
||||
|
|
|
@ -539,8 +539,16 @@ class P2PInterface(P2PConnection):
|
|||
self.send_message(message)
|
||||
self.sync_with_ping(timeout=timeout)
|
||||
|
||||
# Sync up with the node
|
||||
def sync_send_with_ping(self, timeout=60):
|
||||
"""Ensure SendMessages is called on this connection"""
|
||||
# Calling sync_with_ping twice requires that the node calls
|
||||
# `ProcessMessage` twice, and thus ensures `SendMessages` must have
|
||||
# been called at least once
|
||||
self.sync_with_ping()
|
||||
self.sync_with_ping()
|
||||
|
||||
def sync_with_ping(self, timeout=60):
|
||||
"""Ensure ProcessMessages is called on this connection"""
|
||||
self.send_message(msg_ping(nonce=self.ping_counter))
|
||||
|
||||
def test_function():
|
||||
|
|
Loading…
Add table
Reference in a new issue