Skip to content

Commit 35cf71a

Browse files
committed
test: improve trigger cleanup check in feature_governance_cl.py
1 parent f650f65 commit 35cf71a

File tree

1 file changed

+19
-6
lines changed

1 file changed

+19
-6
lines changed

test/functional/feature_governance_cl.py

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
"""Tests governance checks can be skipped for blocks covered by the best chainlock."""
66

77
import json
8-
import time
98

109
from test_framework.governance import have_trigger_for_height
1110
from test_framework.messages import uint256_to_string
@@ -136,13 +135,27 @@ def run_test(self):
136135
assert not have_trigger_for_height(self.nodes[0:5], sb_block_height + sb_cycle)
137136
self.bump_mocktime(156)
138137
self.generate(self.nodes[0], 1, sync_fun=lambda: self.sync_blocks(self.nodes[0:5]))
138+
139+
self.log.info("Bump time to trigger governance cleanup")
139140
# Trigger scheduler to mark old triggers for deletion
140-
self.bump_mocktime(5 * 60)
141-
# Let it do the job
142-
time.sleep(1)
141+
delta = 5 * 60
142+
self.mocktime += delta
143+
for node in self.nodes:
144+
with node.assert_debug_log(expected_msgs=['UpdateCachesAndClean']):
145+
node.mocktime = self.mocktime
146+
node.setmocktime(self.mocktime)
147+
node.mockscheduler(delta)
143148
# Move forward to satisfy GOVERNANCE_DELETION_DELAY, should actually remove old triggers now
144-
self.bump_mocktime(10 * 60)
145-
self.wait_until(lambda: len(self.nodes[0].gobject("list", "valid", "triggers")) == 0, timeout=5)
149+
delta = 10 * 60
150+
self.mocktime += delta
151+
for node in self.nodes:
152+
with node.assert_debug_log(expected_msgs=['UpdateCachesAndClean -- Governance Objects: 0']):
153+
node.mocktime = self.mocktime
154+
node.setmocktime(self.mocktime)
155+
node.mockscheduler(delta)
156+
# Confirm in RPC
157+
for node in self.nodes:
158+
assert_equal(len(node.gobject("list", "valid", "triggers")), 0)
146159

147160
self.log.info("Reconnect isolated node and confirm the next ChainLock will let it sync")
148161
self.reconnect_isolated_node(5, 0)

0 commit comments

Comments
 (0)