You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
test_pacemaker currently assumes all nodes are directly connected to each other. Must change it so that a test may specify an arbitrary mesh of connections between nodes, which will allow us to write unit tests for #1548.
The text was updated successfully, but these errors were encountered:
- test_pacemaker allows each test to define a specific connection mesh between nodes
- added a simple unit test (#7) that can be used to test a solution for #1548 (just needs to introduce a disconnect between nodes)
- added support to write multi-hop unit tests (with selective message propagation by type)
The hotstuff protocol has "phases", and between two adjacent phases, we are typically using different message types. This allows us to write tests where we loop propagating a specific message type across the network, for as many hops as necessary, until the `dispatch` method on the `test_pacemaker` returns an empty vector, signaling no more message propagation happened. And then, we can start propagating the message type that's expected for the next phase of the protocol (these were generated during propagation of the previous type, but were just retained).
All unit tests still use a full connection mesh, which is easily created by calling `test_pacemaker::connect(vector-with-all-node-names)`. The added test is meant to be changed by the inclusion of an explicit disconnect between the two rotating leaders; this can be used as the first test of a solution to message propagation.
Closes#1658
test_pacemaker
currently assumes all nodes are directly connected to each other. Must change it so that a test may specify an arbitrary mesh of connections between nodes, which will allow us to write unit tests for #1548.The text was updated successfully, but these errors were encountered: