Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test: MBT for Part Streaming #763

Open
6 tasks
hvanz opened this issue Jan 14, 2025 · 0 comments
Open
6 tasks

test: MBT for Part Streaming #763

hvanz opened this issue Jan 14, 2025 · 0 comments
Assignees
Labels
mbt Model-Based Testing test Testing

Comments

@hvanz
Copy link
Member

hvanz commented Jan 14, 2025

Part Streaming is the protocol utilised for block propagation in the Starknet app. When sending a block proposal to a set of peers, a node partitions the block into multiple parts and send each part to the peers in StreamMessages, which may arrive out of order. Then the peers must re-assemble the received parts into a block.

This is the implementation. And this is the Quint spec.

The goal is to write an MBT driver and tests for Part Streaming.

Tasks:

  • Update and expand the documentation of the code and the spec, if needed.
  • Extend the spec with new tests and invariants, if needed.
  • Write in Rust the types and data structures that will be used to map the spec's state variables (example of State struct for consensus-core module)
  • Write implementation of ItfRunner for ITF traces generated from the spec (for example, ConsensusRunner)
  • Write MBT test, which generates ITF traces from the Quint spec and runs the traces as Rust tests (example for consensus-core)
  • Integrate the new MBT tests in CI
@hvanz hvanz added the mbt Model-Based Testing label Jan 14, 2025
@github-actions github-actions bot added the need-triage This issue needs to be triaged label Jan 14, 2025
@romac romac added test Testing and removed need-triage This issue needs to be triaged labels Jan 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
mbt Model-Based Testing test Testing
Projects
None yet
Development

No branches or pull requests

3 participants