test(rpc): cover lightwalletd block RPCs - #11248
Draft
cleanerzkp wants to merge 16 commits into
Draft
Conversation
# Conflicts: # CHANGELOG.md # zebra-rpc/CHANGELOG.md
…t can't park the producer
… the mempool unboundedly
…ILABLE for transient failures
… the latest treestate to one block
cleanerzkp
force-pushed
the
test/lightwalletd-grpc-slice
branch
from
August 12, 2026 13:25
fee2a59 to
e65ae85
Compare
oxarbitrage
force-pushed
the
lightwalletd-grpc
branch
from
August 18, 2026 17:49
df5c760 to
78acfd5
Compare
Contributor
|
Reopened — this was auto-closed when its base branch (#10953's |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
Add the low-cost lightwalletd gRPC coverage requested in #11224 and scoped by the Zebra team response.
This draft is stacked on #10953 because the in-process server harness is currently on
lightwalletd-grpc.Solution
Add test-only coverage through the existing in-process gRPC server for:
GetLatestBlockreturning the mocked best tip height and hash;GetBlockRangeorder;NotFound;BlockID, which returnsInvalidArgumentwithout a state read.Stream reads use bounded waits so a failed server response cannot hang the tests.
Tests
Passed locally:
cargo test -p zebra-rpc lightwalletd::tests::vectors -- --nocapture— 7 passed;cargo fmt --all -- --check;cargo clippy --workspace --all-targets -- -D warnings.The full
cargo test --workspacerun reachedzebra-network, then stopped on five unrelated macOS environment failures: three tests could not bind127.0.0.2, and two peer-cache tests could not use the default cache path. The modifiedzebra-rpcsuite passed. Local validation used installed stable Rust 1.95 because repeated downloads of the pinned Rust 1.91 toolchain reset atstatic.rust-lang.org; CI should provide the authoritative pinned-toolchain result.Specifications & References
Follow-up Work
After #10953 merges, rebase this branch onto
main, retarget the PR, and rerun the required gates.AI Disclosure
PR Checklist
type(scope): description