Skip to content

Commit e53b1c1

Browse files
committed
Merge bitcoin/bitcoin#30705: test: Avoid intermittent block download timeout in p2p_ibd_stalling
fa5b58e test: Avoid intermittent block download timeout in p2p_ibd_stalling (MarcoFalke) Pull request description: Fixes #30704 The goal of the test is to check the stalling timeout, not the block download timeout. On extremely slow hardware (for example qemu virtual hardware), downloading the 1023 blocks may take longer than the block download timeout. Fix it by pinning the time using mocktime, and only advance it when testing the stalling timeout. ACKs for top commit: tdb3: CR ACK fa5b58e brunoerg: utACK fa5b58e Tree-SHA512: 9a9221f264bea52be5e9fe81fd319f5a6970cd315cc5e9f5e2e049c5d84619b19b9f6f075cda8d34565c2d6c17a88fb57e195c66c271e40f73119a77caecb6d7
2 parents 37cdb5f + fa5b58e commit e53b1c1

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

test/functional/p2p_ibd_stalling.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ def run_test(self):
7373
peers = []
7474

7575
self.log.info("Check that a staller does not get disconnected if the 1024 block lookahead buffer is filled")
76+
self.mocktime = int(time.time()) + 1
7677
for id in range(NUM_PEERS):
7778
peers.append(node.add_outbound_p2p_connection(P2PStaller(stall_block), p2p_idx=id, connection_type="outbound-full-relay"))
7879
peers[-1].block_store = block_dict
@@ -85,7 +86,7 @@ def run_test(self):
8586

8687
self.all_sync_send_with_ping(peers)
8788
# If there was a peer marked for stalling, it would get disconnected
88-
self.mocktime = int(time.time()) + 3
89+
self.mocktime += 3
8990
node.setmocktime(self.mocktime)
9091
self.all_sync_send_with_ping(peers)
9192
assert_equal(node.num_test_p2p_connections(), NUM_PEERS)

0 commit comments

Comments
 (0)