Skip to content

test: advance mocktime during quorum list waits#7311

Draft
thepastaclaw wants to merge 1 commit intodashpay:developfrom
thepastaclaw:fix-7310-quorum-list-mocktime
Draft

test: advance mocktime during quorum list waits#7311
thepastaclaw wants to merge 1 commit intodashpay:developfrom
thepastaclaw:fix-7310-quorum-list-mocktime

Conversation

@thepastaclaw
Copy link
Copy Markdown

Summary

Motivation

feature_asset_locks.py intermittently times out after mining an
llmq_test_platform quorum. The final commitment is mined, but the new quorum
does not always appear in quorum list before the helper's short polling loop
expires.

In mocktime-driven functional tests, quorum-list publication can require
scheduler/mocktime progress after the final commitment block is mined.

Fixes #7310.

Changes

  • Advance mocktime while polling wait_for_quorum_list().
  • Apply the same behavior to wait_for_quorums_list() so rotated-quorum flows
    keep the same synchronization semantics.
  • Poll once per mocktime second instead of every 50ms while advancing mocktime.

Validation

  • git diff --check
  • python3 test/functional/feature_llmq_rotation.py --configfile=/Users/claw/Projects/dash/test/config.ini
  • python3 test/functional/feature_asset_locks.py --configfile=/Users/claw/Projects/dash/test/config.ini
  • Pre-PR code review: no significant issues found.

@thepastaclaw
Copy link
Copy Markdown
Author

@coderabbitai review

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 7, 2026

✅ No Merge Conflicts Detected

This PR currently has no conflicts with other open PRs.

@thepastaclaw
Copy link
Copy Markdown
Author

thepastaclaw commented May 7, 2026

🔍 Review in progress — actively reviewing now (commit 7cf4429)
Queue position: 2/84

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 7, 2026

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 7, 2026

Review Change Stack
No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: 35583355-efde-44c7-9678-ea0064541a0a

📥 Commits

Reviewing files that changed from the base of the PR and between 5fd84aa and 7cf4429.

📒 Files selected for processing (1)
  • test/functional/test_framework/test_framework.py

Walkthrough

The PR updates two test framework helper methods in DashTestFramework that wait for quorum list synchronization. Both wait_for_quorum_list and wait_for_quorums_list now bump mock time for the provided nodes during their polling loops and use a standardized 1-second polling interval instead of the previous 0.05-second interval in one method.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and concisely summarizes the main change: advancing mocktime during quorum list waits in the test framework.
Description check ✅ Passed The description is well-related to the changeset, explaining the motivation (intermittent timeout in feature_asset_locks.py), specific changes made, and validation performed.
Linked Issues check ✅ Passed The PR directly addresses the coding requirement from linked issue #7310 by advancing mocktime during polling in wait_for_quorum_list() and wait_for_quorums_list() to resolve intermittent timeout failures.
Out of Scope Changes check ✅ Passed All changes are focused on advancing mocktime in quorum list wait helpers to address the linked issue; no unrelated modifications detected.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Author

@thepastaclaw thepastaclaw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

I verified the checked-out head 7cf4429a3d516cafc4a16a92c9a925a3540f02ac against the review artifacts and the touched source in test/functional/test_framework/test_framework.py. The patch is narrowly scoped to quorum-list polling in the functional-test framework, and its new bump_mocktime(1, nodes=nodes) behavior matches existing mocktime-driven wait patterns elsewhere in the same helper class. I did not confirm any correctness, safety, or test-coverage issue in this change.

Reviewed commit: 7cf4429

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

test: feature_asset_locks intermittent llmq_test_platform quorum timeout

1 participant