Changeset View
Changeset View
Standalone View
Standalone View
test/functional/p2p_sendheaders.py
Show First 20 Lines • Show All 318 Lines • ▼ Show 20 Lines | def test_nonnull_locators(self, test_node, inv_node): | ||||
last_time = self.nodes[0].getblock( | last_time = self.nodes[0].getblock( | ||||
self.nodes[0].getbestblockhash())['time'] | self.nodes[0].getbestblockhash())['time'] | ||||
block_time = last_time + 1 | block_time = last_time + 1 | ||||
new_block = create_block( | new_block = create_block( | ||||
tip, create_coinbase(height + 1), block_time) | tip, create_coinbase(height + 1), block_time) | ||||
new_block.solve() | new_block.solve() | ||||
test_node.send_header_for_blocks([new_block]) | test_node.send_header_for_blocks([new_block]) | ||||
test_node.wait_for_getdata([new_block.sha256]) | test_node.wait_for_getdata([new_block.sha256]) | ||||
test_node.send_message(msg_block(new_block)) | # make sure this block is processed | ||||
test_node.sync_with_ping() # make sure this block is processed | test_node.send_and_ping(msg_block(new_block)) | ||||
wait_until(lambda: inv_node.block_announced, | wait_until(lambda: inv_node.block_announced, | ||||
timeout=60, lock=mininode_lock) | timeout=60, lock=mininode_lock) | ||||
inv_node.clear_block_announcements() | inv_node.clear_block_announcements() | ||||
test_node.clear_block_announcements() | test_node.clear_block_announcements() | ||||
self.log.info("Part 1: success!") | self.log.info("Part 1: success!") | ||||
self.log.info( | self.log.info( | ||||
"Part 2: announce blocks with headers after sendheaders message...") | "Part 2: announce blocks with headers after sendheaders message...") | ||||
▲ Show 20 Lines • Show All 309 Lines • Show Last 20 Lines |