mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 20:12:57 +01:00
fix(test): wait for chainlock before mining a block we expect to include said chainlock
Most of the time, while generating the cycle quorum, there is sufficient time to generate a chainlock; however, this is racey, and I've observed locally where the block gets generated before a chainlock is present and as such `test_coinbase_best_cl` fails. We should instead wait for the chainlock first, and then mine the block. This was we can ensure the mined block will include that chainlock. This was observed locally maybe 1/10 times or so
This commit is contained in:
parent
f39c1e6f4c
commit
5078baea2b
@ -56,11 +56,10 @@ class LLMQChainLocksTest(DashTestFramework):
|
|||||||
self.move_to_next_cycle()
|
self.move_to_next_cycle()
|
||||||
self.log.info("Cycle H+2C height:" + str(self.nodes[0].getblockcount()))
|
self.log.info("Cycle H+2C height:" + str(self.nodes[0].getblockcount()))
|
||||||
self.mine_cycle_quorum(llmq_type_name="llmq_test_dip0024", llmq_type=103)
|
self.mine_cycle_quorum(llmq_type_name="llmq_test_dip0024", llmq_type=103)
|
||||||
|
|
||||||
|
|
||||||
self.log.info("Mine single block, wait for chainlock")
|
|
||||||
self.generate(self.nodes[0], 1, sync_fun=self.no_op)
|
|
||||||
self.wait_for_chainlocked_block_all_nodes(self.nodes[0].getbestblockhash())
|
self.wait_for_chainlocked_block_all_nodes(self.nodes[0].getbestblockhash())
|
||||||
|
|
||||||
|
self.log.info("Mine single block, ensure it includes latest chainlock")
|
||||||
|
self.generate(self.nodes[0], 1, sync_fun=self.sync_blocks)
|
||||||
self.test_coinbase_best_cl(self.nodes[0])
|
self.test_coinbase_best_cl(self.nodes[0])
|
||||||
|
|
||||||
# ChainLock locks all the blocks below it so nocl_block_hash should be locked too
|
# ChainLock locks all the blocks below it so nocl_block_hash should be locked too
|
||||||
|
Loading…
Reference in New Issue
Block a user