Skip to content

Commit 562bb5a

Browse files
committed
test: improve trigger cleanup check
1 parent dd05c00 commit 562bb5a

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

test/functional/feature_governance_cl.py

Lines changed: 15 additions & 8 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
@@ -144,13 +143,21 @@ def run_test(self):
144143
assert not have_trigger_for_height(self.nodes[0:5], sb_block_height + sb_cycle)
145144
self.bump_mocktime(156)
146145
self.generate(self.nodes[0], 1, sync_fun=lambda: self.sync_blocks(self.nodes[0:5]))
147-
# Trigger scheduler to mark old triggers for deletion
148-
self.bump_mocktime(5 * 60)
149-
# Let it do the job
150-
time.sleep(1)
151-
# Move forward to satisfy GOVERNANCE_DELETION_DELAY, should actually remove old triggers now
152-
self.bump_mocktime(10 * 60)
153-
self.wait_until(lambda: len(self.nodes[0].gobject("list", "valid", "triggers")) == 0, timeout=5)
146+
147+
self.log.info("Bump mocktime to trigger governance cleanup")
148+
for delta, expected in (
149+
(5 * 60, ['UpdateCachesAndClean -- Governance Objects:']), # mark old triggers for deletion
150+
(10 * 60, ['UpdateCachesAndClean -- Governance Objects: 0']), # deletion after delay
151+
):
152+
self.mocktime += delta
153+
for node in self.nodes:
154+
with node.assert_debug_log(expected_msgs=expected):
155+
node.setmocktime(self.mocktime)
156+
node.mockscheduler(delta)
157+
158+
# Confirm in RPC
159+
for node in self.nodes:
160+
assert_equal(len(node.gobject("list", "valid", "triggers")), 0)
154161

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

0 commit comments

Comments
 (0)