mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-07-02 19:52:01 +02:00
test: Implicitly sync after generate*, unless opted out
This commit is contained in:
@ -413,7 +413,7 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
|
||||
# To ensure that all nodes are out of IBD, the most recent block
|
||||
# must have a timestamp not too old (see IsInitialBlockDownload()).
|
||||
self.log.debug('Generate a block with current time')
|
||||
block_hash = self.generate(self.nodes[0], 1)[0]
|
||||
block_hash = self.generate(self.nodes[0], 1, sync_fun=self.no_op)[0]
|
||||
block = self.nodes[0].getblock(blockhash=block_hash, verbosity=0)
|
||||
for n in self.nodes:
|
||||
n.submitblock(block)
|
||||
@ -627,20 +627,27 @@ class BitcoinTestFramework(metaclass=BitcoinTestMetaClass):
|
||||
self.connect_nodes(1, 2)
|
||||
self.sync_all()
|
||||
|
||||
def generate(self, generator, *args, **kwargs):
|
||||
def no_op(self):
|
||||
pass
|
||||
|
||||
def generate(self, generator, *args, sync_fun=None, **kwargs):
|
||||
blocks = generator.generate(*args, invalid_call=False, **kwargs)
|
||||
sync_fun() if sync_fun else self.sync_all()
|
||||
return blocks
|
||||
|
||||
def generateblock(self, generator, *args, **kwargs):
|
||||
def generateblock(self, generator, *args, sync_fun=None, **kwargs):
|
||||
blocks = generator.generateblock(*args, invalid_call=False, **kwargs)
|
||||
sync_fun() if sync_fun else self.sync_all()
|
||||
return blocks
|
||||
|
||||
def generatetoaddress(self, generator, *args, **kwargs):
|
||||
def generatetoaddress(self, generator, *args, sync_fun=None, **kwargs):
|
||||
blocks = generator.generatetoaddress(*args, invalid_call=False, **kwargs)
|
||||
sync_fun() if sync_fun else self.sync_all()
|
||||
return blocks
|
||||
|
||||
def generatetodescriptor(self, generator, *args, **kwargs):
|
||||
def generatetodescriptor(self, generator, *args, sync_fun=None, **kwargs):
|
||||
blocks = generator.generatetodescriptor(*args, invalid_call=False, **kwargs)
|
||||
sync_fun() if sync_fun else self.sync_all()
|
||||
return blocks
|
||||
|
||||
def sync_blocks(self, nodes=None, wait=1, timeout=60):
|
||||
|
@ -451,10 +451,10 @@ def find_output(node, txid, amount, *, blockhash=None):
|
||||
|
||||
# Helper to create at least "count" utxos
|
||||
# Pass in a fee that is sufficient for relay and mining new transactions.
|
||||
def create_confirmed_utxos(test_framework, fee, node, count):
|
||||
def create_confirmed_utxos(test_framework, fee, node, count, **kwargs):
|
||||
to_generate = int(0.5 * count) + 101
|
||||
while to_generate > 0:
|
||||
test_framework.generate(node, min(25, to_generate))
|
||||
test_framework.generate(node, min(25, to_generate), **kwargs)
|
||||
to_generate -= 25
|
||||
utxos = node.listunspent()
|
||||
iterations = count - len(utxos)
|
||||
@ -475,7 +475,7 @@ def create_confirmed_utxos(test_framework, fee, node, count):
|
||||
node.sendrawtransaction(signed_tx)
|
||||
|
||||
while (node.getmempoolinfo()['size'] > 0):
|
||||
test_framework.generate(node, 1)
|
||||
test_framework.generate(node, 1, **kwargs)
|
||||
|
||||
utxos = node.listunspent()
|
||||
assert len(utxos) >= count
|
||||
|
Reference in New Issue
Block a user