mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-03-04 07:07:45 +01:00
Merge bitcoin/bitcoin#29753: test: fix StopIteration exception in p2p_node_network_limited.py
2eb5175de8
test: fix StopIteration exception in p2p_node_network_limited.py (furszy) Pull request description: Fixes #29731 The `next()` call throws an exception if the default parameter is omitted and the iterator is exhausted. Fix it by providing a default value. The failure can be tested by commenting out lines 90 and 91 in the test (the `self.connect_nodes(2, 0)`). Since there is no connection, the node in question retrieves a single element in the 'getchaintips()' call. This scenario without the fix, aborts the test right away, throwing an `StopIteration` exception, and with the fix, the test properly waits until the timeout (`wait_until()` call). ACKs for top commit: maflcko: review ACK2eb5175de8
brunoerg: crACK2eb5175de8
BrandonOdiwuor: crACK2eb5175de8
tdb3: Tested ACK for2eb5175de8
. Tree-SHA512: b0873eb4d3334146fd250cd2cd23add3e744877033c8bfa4eb8dff36633100604adf49dd7846856ddfa88c9768663f095db705c00eef3641618df8fc13f8c2c5
This commit is contained in:
commit
23ba39470c
1 changed files with 2 additions and 1 deletions
|
@ -92,7 +92,8 @@ class NodeNetworkLimitedTest(BitcoinTestFramework):
|
|||
|
||||
# Wait until the full_node is headers-wise sync
|
||||
best_block_hash = pruned_node.getbestblockhash()
|
||||
self.wait_until(lambda: next(filter(lambda x: x['hash'] == best_block_hash, full_node.getchaintips()))['status'] == "headers-only")
|
||||
default_value = {'status': ''} # No status
|
||||
self.wait_until(lambda: next(filter(lambda x: x['hash'] == best_block_hash, full_node.getchaintips()), default_value)['status'] == "headers-only")
|
||||
|
||||
# Now, since the node aims to download a window of 1024 blocks,
|
||||
# ensure it requests the blocks below the threshold only (with a
|
||||
|
|
Loading…
Add table
Reference in a new issue