diff options
| author | John Newbery <[email protected]> | 2018-06-22 11:55:29 -0400 |
|---|---|---|
| committer | John Newbery <[email protected]> | 2018-06-22 11:55:56 -0400 |
| commit | 75848bcf401a23672aaec1d8be2738443946808c (patch) | |
| tree | 301650169d22712b9cf6d6536b9da5f9fe2d9791 | |
| parent | Merge #13506: Qt: load wallet in UI after possible init aborts (diff) | |
| download | discoin-75848bcf401a23672aaec1d8be2738443946808c.tar.xz discoin-75848bcf401a23672aaec1d8be2738443946808c.zip | |
[tests] Fix p2p_sendheaders race
p2p_sendheaders has a race in part 1.3.
part 1.2 sends a block to the node over the 'test_node' connection, but
doesn't wait for an inv to be received on the 'inv_node' connection. If
we get to part 1.3 before that inv has been received, then the
subsequent call to check_last_inv_announcement could fail.
| -rwxr-xr-x | test/functional/p2p_sendheaders.py | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/test/functional/p2p_sendheaders.py b/test/functional/p2p_sendheaders.py index 7ee8168e2..a8fafe2cf 100755 --- a/test/functional/p2p_sendheaders.py +++ b/test/functional/p2p_sendheaders.py @@ -306,6 +306,7 @@ class SendHeadersTest(BitcoinTestFramework): test_node.clear_block_announcements() # since we requested headers... elif i == 2: # this time announce own block via headers + inv_node.clear_block_announcements() height = self.nodes[0].getblockcount() last_time = self.nodes[0].getblock(self.nodes[0].getbestblockhash())['time'] block_time = last_time + 1 @@ -315,6 +316,7 @@ class SendHeadersTest(BitcoinTestFramework): test_node.wait_for_getdata([new_block.sha256]) test_node.send_message(msg_block(new_block)) test_node.sync_with_ping() # make sure this block is processed + wait_until(lambda: inv_node.block_announced, timeout=60, lock=mininode_lock) inv_node.clear_block_announcements() test_node.clear_block_announcements() |