mirror of
https://github.com/logos-co/nomos-specs.git
synced 2025-02-12 23:36:29 +00:00
Make unhappy test continuously timeout
This commit is contained in:
parent
409ae77349
commit
b9c13d3a94
@ -153,44 +153,49 @@ class TestCarnotHappyPath(TestCase):
|
||||
proposed_block = leader.latest_event
|
||||
self.assertIsNotNone(proposed_block)
|
||||
|
||||
node: MockCarnot
|
||||
timeouts = []
|
||||
for node in (nodes[int_to_id(_id)] for _id in range(3)):
|
||||
node.local_timeout()
|
||||
timeouts.append(node.latest_event)
|
||||
for view in range(1, 4):
|
||||
node: MockCarnot
|
||||
timeouts = []
|
||||
for node in (nodes[int_to_id(_id)] for _id in range(3)):
|
||||
node.local_timeout()
|
||||
timeouts.append(node.latest_event)
|
||||
|
||||
leader.timeout_detected(timeouts)
|
||||
timeout_qc = leader.latest_event
|
||||
leader.timeout_detected(timeouts)
|
||||
timeout_qc = leader.latest_event
|
||||
|
||||
for node in nodes.values():
|
||||
node.received_timeout_qc(timeout_qc)
|
||||
|
||||
# new view votes from leafs
|
||||
for node in (nodes[int_to_id(_id)] for _id in (2, 3, 4)):
|
||||
node.approve_new_view(timeout_qc, set())
|
||||
|
||||
new_views_leafs_3_4 = [nodes[int_to_id(_id)].latest_event for _id in (3, 4)]
|
||||
new_view_leaf_2 = nodes[int_to_id(2)].latest_event
|
||||
|
||||
# new view votes from committee 1 ()
|
||||
node_1: MockCarnot = nodes[int_to_id(1)]
|
||||
node_1.approve_new_view(timeout_qc, new_views_leafs_3_4)
|
||||
new_view_1 = node_1.latest_event
|
||||
|
||||
# committee 1 and committee 2 new view votes
|
||||
new_views = [new_view_1, new_view_leaf_2]
|
||||
|
||||
# forward root childs votes to root committee (compound of just the leader in this case)
|
||||
leader.approve_new_view(timeout_qc, new_views)
|
||||
root_new_view = leader.latest_event
|
||||
|
||||
leader.propose_block(view+1, [root_new_view, new_view_1, new_view_leaf_2])
|
||||
|
||||
# Add final assertions on nodes
|
||||
proposed_block = leader.latest_event
|
||||
self.assertEqual(proposed_block.view, view + 1)
|
||||
self.assertEqual(proposed_block.qc.view, view)
|
||||
self.assertEqual(proposed_block.qc.high_qc().view, 0)
|
||||
self.assertEqual(leader.last_timeout_view_qc.view, view)
|
||||
self.assertEqual(leader.local_high_qc.view, 0)
|
||||
self.assertEqual(leader.highest_voted_view, view)
|
||||
for node in nodes.values():
|
||||
node.receive_block(proposed_block)
|
||||
for node in nodes.values():
|
||||
node.received_timeout_qc(timeout_qc)
|
||||
|
||||
# new view votes from leafs
|
||||
for node in (nodes[int_to_id(_id)] for _id in (2, 3, 4)):
|
||||
node.approve_new_view(timeout_qc, set())
|
||||
|
||||
new_views_leafs_3_4 = [nodes[int_to_id(_id)].latest_event for _id in (3, 4)]
|
||||
new_view_leaf_2 = nodes[int_to_id(2)].latest_event
|
||||
|
||||
# new view votes from committee 1 ()
|
||||
node_1: MockCarnot = nodes[int_to_id(1)]
|
||||
node_1.approve_new_view(timeout_qc, new_views_leafs_3_4)
|
||||
new_view_1 = node_1.latest_event
|
||||
|
||||
# committee 1 and committee 2 new view votes
|
||||
new_views = [new_view_1, new_view_leaf_2]
|
||||
|
||||
# forward root childs votes to root committee (compound of just the leader in this case)
|
||||
leader.approve_new_view(timeout_qc, new_views)
|
||||
root_new_view = leader.latest_event
|
||||
|
||||
leader.propose_block(2, [root_new_view, new_view_1, new_view_leaf_2])
|
||||
|
||||
# Add final assertions on nodes
|
||||
new_block_1 = leader.latest_event
|
||||
self.assertEqual(new_block_1.view, 2)
|
||||
self.assertEqual(new_block_1.qc.view, 1)
|
||||
self.assertEqual(new_block_1.qc.high_qc().view, 0)
|
||||
self.assertEqual(leader.last_timeout_view_qc.view, 1)
|
||||
self.assertEqual(leader.local_high_qc.view, 0)
|
||||
self.assertEqual(leader.highest_voted_view, 1)
|
||||
self.assertEqual(node.latest_committed_view, 0)
|
||||
|
Loading…
x
Reference in New Issue
Block a user