Feedback: Reuse IntegrationTestcase.generate() in generate_and_wait().
This commit is contained in:
parent
bd1cebdb4c
commit
5a26aea398
1 changed files with 3 additions and 15 deletions
|
@ -298,23 +298,11 @@ class IntegrationTestCase(AsyncioTestCase):
|
||||||
|
|
||||||
async def generate_and_wait(self, blocks_to_generate, txids, ledger=None):
|
async def generate_and_wait(self, blocks_to_generate, txids, ledger=None):
|
||||||
if blocks_to_generate > 0:
|
if blocks_to_generate > 0:
|
||||||
watcher1 = (ledger or self.ledger).on_transaction.where(
|
watcher = (ledger or self.ledger).on_transaction.where(
|
||||||
lambda e: ((e.tx.id in txids and txids.remove(e.tx.id)), len(txids) <= 0)[-1] # multi-statement lambda
|
lambda e: ((e.tx.id in txids and txids.remove(e.tx.id)), len(txids) <= 0)[-1] # multi-statement lambda
|
||||||
)
|
)
|
||||||
watcher2 = (ledger or self.ledger).on_header.where(self.blockchain.is_expected_block)
|
await self.generate(blocks_to_generate)
|
||||||
self.conductor.spv_node.server.synchronized.clear()
|
await watcher
|
||||||
await self.blockchain.generate(blocks_to_generate)
|
|
||||||
height = self.blockchain.block_expected
|
|
||||||
await watcher1
|
|
||||||
await watcher2
|
|
||||||
while True:
|
|
||||||
await self.conductor.spv_node.server.synchronized.wait()
|
|
||||||
self.conductor.spv_node.server.synchronized.clear()
|
|
||||||
if self.conductor.spv_node.server.db.db_height < height:
|
|
||||||
continue
|
|
||||||
if self.conductor.spv_node.server._es_height < height:
|
|
||||||
continue
|
|
||||||
break
|
|
||||||
|
|
||||||
def on_address_update(self, address):
|
def on_address_update(self, address):
|
||||||
return self.ledger.on_transaction.where(
|
return self.ledger.on_transaction.where(
|
||||||
|
|
Loading…
Reference in a new issue