diff --git a/test/functional/test_framework/mininode.py b/test/functional/test_framework/mininode.py index 92578dac96..c6d8eba3a7 100755 --- a/test/functional/test_framework/mininode.py +++ b/test/functional/test_framework/mininode.py @@ -305,9 +305,13 @@ class P2PInterface(P2PConnection): def __init__(self, support_addrv2=False): super().__init__() - # Track number of messages of each type received and the most recent - # message of each type + # Track number of messages of each type received. + # Should be read-only in a test. self.message_count = defaultdict(int) + + # Track the most recent message of each type. + # To wait for a message to be received, pop that message from + # this and use wait_until. self.last_message = {} # A count of the number of ping messages we've sent to the node @@ -489,7 +493,7 @@ class P2PInterface(P2PConnection): def wait_for_verack(self, timeout=60): def test_function(): - return self.message_count["verack"] + return "verack" in self.last_message wait_until(test_function, timeout=timeout, lock=mininode_lock)