mirror of
https://github.com/bitcoin/bitcoin.git
synced 2024-11-19 01:42:58 +01:00
test: Avoid intermittent timeout in p2p_headers_sync_with_minchainwork.py
This commit is contained in:
parent
ffdc3d6060
commit
fa247e6e8c
@ -1,5 +1,5 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# Copyright (c) 2019-2022 The Bitcoin Core developers
|
# Copyright (c) 2019-present The Bitcoin Core developers
|
||||||
# Distributed under the MIT software license, see the accompanying
|
# Distributed under the MIT software license, see the accompanying
|
||||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||||
"""Test that we reject low difficulty headers to prevent our block tree from filling up with useless bloat"""
|
"""Test that we reject low difficulty headers to prevent our block tree from filling up with useless bloat"""
|
||||||
@ -21,6 +21,8 @@ from test_framework.blocktools import (
|
|||||||
|
|
||||||
from test_framework.util import assert_equal
|
from test_framework.util import assert_equal
|
||||||
|
|
||||||
|
import time
|
||||||
|
|
||||||
NODE1_BLOCKS_REQUIRED = 15
|
NODE1_BLOCKS_REQUIRED = 15
|
||||||
NODE2_BLOCKS_REQUIRED = 2047
|
NODE2_BLOCKS_REQUIRED = 2047
|
||||||
|
|
||||||
@ -48,6 +50,10 @@ class RejectLowDifficultyHeadersTest(BitcoinTestFramework):
|
|||||||
self.connect_nodes(0, 2)
|
self.connect_nodes(0, 2)
|
||||||
self.connect_nodes(0, 3)
|
self.connect_nodes(0, 3)
|
||||||
|
|
||||||
|
def mocktime_all(self, time):
|
||||||
|
for n in self.nodes:
|
||||||
|
n.setmocktime(time)
|
||||||
|
|
||||||
def test_chains_sync_when_long_enough(self):
|
def test_chains_sync_when_long_enough(self):
|
||||||
self.log.info("Generate blocks on the node with no required chainwork, and verify nodes 1 and 2 have no new headers in their headers tree")
|
self.log.info("Generate blocks on the node with no required chainwork, and verify nodes 1 and 2 have no new headers in their headers tree")
|
||||||
with self.nodes[1].assert_debug_log(expected_msgs=["[net] Ignoring low-work chain (height=14)"]), self.nodes[2].assert_debug_log(expected_msgs=["[net] Ignoring low-work chain (height=14)"]), self.nodes[3].assert_debug_log(expected_msgs=["Synchronizing blockheaders, height: 14"]):
|
with self.nodes[1].assert_debug_log(expected_msgs=["[net] Ignoring low-work chain (height=14)"]), self.nodes[2].assert_debug_log(expected_msgs=["[net] Ignoring low-work chain (height=14)"]), self.nodes[3].assert_debug_log(expected_msgs=["Synchronizing blockheaders, height: 14"]):
|
||||||
@ -149,7 +155,9 @@ class RejectLowDifficultyHeadersTest(BitcoinTestFramework):
|
|||||||
|
|
||||||
self.reconnect_all()
|
self.reconnect_all()
|
||||||
|
|
||||||
|
self.mocktime_all(int(time.time())) # Temporarily hold time to avoid internal timeouts
|
||||||
self.sync_blocks(timeout=300) # Ensure tips eventually agree
|
self.sync_blocks(timeout=300) # Ensure tips eventually agree
|
||||||
|
self.mocktime_all(0)
|
||||||
|
|
||||||
|
|
||||||
def run_test(self):
|
def run_test(self):
|
||||||
|
Loading…
Reference in New Issue
Block a user