test: Fix verack race to avoid intermittent test failures

This commit is contained in:
MarcoFalke 2020-05-04 08:48:10 -04:00
parent ae32e5ce3d
commit fae153b409
No known key found for this signature in database
GPG key ID: CE2B75697E69A548

View file

@ -391,7 +391,11 @@ def connect_nodes(from_connection, node_num):
from_connection.addnode(ip_port, "onetry")
# poll until version handshake complete to avoid race conditions
# with transaction relaying
wait_until(lambda: all(peer['version'] != 0 for peer in from_connection.getpeerinfo()))
# See comments in net_processing:
# * Must have a version message before anything else
# * Must have a verack message before anything else
wait_until(lambda: all(peer['version'] != 0 for peer in from_connection.getpeerinfo()))
wait_until(lambda: all(peer['bytesrecv_per_msg'].pop('verack', 0) == 24 for peer in from_connection.getpeerinfo()))
def sync_blocks(rpc_connections, *, wait=1, timeout=60):