test: restore complete spork21 signing coverage - #7552
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
WalkthroughThe functional test adds a Estimated code review effort: 3 (Moderate) | ~20 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
✅ Final review complete — no blockers (commit 2f0bd0e) |
1 similar comment
|
✅ Final review complete — no blockers (commit 2f0bd0e) |
thepastaclaw
left a comment
There was a problem hiding this comment.
Final validation — Codex + Opus
The PR-specific commit cleanly restores the dedicated --spork21 signing-test variant and registers it with the functional test runner. The restored test is byte-for-byte identical to the established pre-deduplication version, and mine_quorum() waits for the all-connected topology before the subsequent connection and handshake assertions; no in-scope correctness or coverage issues were found.
Review provenance
- Codex reviewers:
gpt-5.6-sol— general (completed),gpt-5.6-sol— dash-core-commit-history (completed) - Verifier:
gpt-5.6-sol— final-verifier (Opus verifier fallback) - Opus reviewers:
claude-sonnet-5— general (failed),claude-sonnet-5— dash-core-commit-history (failed),claude-sonnet-5— general (completed),claude-sonnet-5— dash-core-commit-history (completed)
Issue being fixed or feature implemented
PR #7497 merged the default and
--spork21variants offeature_llmq_signing.pybased on the assumption that the shared signing-session flow does not depend on spork 21.That assumption does not hold for the signature-share transport. Mainnet hardens
SPORK_21_QUORUM_ALL_CONNECTEDto value1, which keeps the all-connected concentratedQSIGSHAREpath enabled for small quorums while LLMQ-100/400 quorums retain the legacy announce/request andQBSIGSHARESpath. Both implementations are therefore live and need coverage for the complete signing-session lifecycle.The shortened mid-test spork section retained basic threshold recovery and recovery-member retry coverage, but no longer exercised conflict handling, quorum aging, recovered-signature cleanup, and session reuse through the spork-21 transport.
What was done?
--spork21option and activation before the first quorum is mined.QSIGSHAREsubmission, full-connectivity checks, and recovery-member isolation flow.feature_llmq_signing.py --spork21to the functional test runner.This is limited to the signing-test deduplication from #7497. Its wallet RPC coverage split and spork-23 test optimization remain unchanged.
How Has This Been Tested?
The following checks passed against a current local Dash Core build:
test/functional/feature_llmq_signing.pytest/functional/feature_llmq_signing.py --spork21python3 -m py_compile test/functional/feature_llmq_signing.py test/functional/test_runner.pytest/lint/lint-whitespace.pygit diff --checktest/lint/lint-python.pywas also invoked, but skipped becauseflake8is not installed in the local environment.Breaking Changes
None. Test-only change.
Checklist:
This pull request was created by Codex.