aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-06 18:54:19 +0100
committertv <tv@krebsco.de>2026-11-06 18:54:19 +0100
commit77e17597319c508c3a431f74c9951145fb31bea0 (patch)
tree0c4c7e7f9cd234494681a443953129ad3cca4347 /src
parent8a134df62167a85fa083ccf480a939fd654e2419 (diff)
fix simtest clock off proposer waits
Diffstat (limited to 'src')
-rw-r--r--src/simtest/remakes.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/simtest/remakes.rs b/src/simtest/remakes.rs
index ec83c40..95c5697 100644
--- a/src/simtest/remakes.rs
+++ b/src/simtest/remakes.rs
@@ -566,6 +566,19 @@ async fn abort_from_a_node_with_its_clock_off_is_refused() {
move || async move { c_ref.clock_skew().await.off },
)
.await;
+ // And a, the proposer, that its own isn't: it compares with both b and c, so c alone
+ // is no majority. Had it a PONG from c but none from b yet, c's clock would be most
+ // of its peers', and a's proposal refused as from a clock off.
+ let a_ref = &a;
+ sim.wait_until(
+ "a knows its clock is fine",
+ Duration::from_secs(60),
+ move || async move {
+ let skew = a_ref.clock_skew().await;
+ skew.peers >= 2 && !skew.off
+ },
+ )
+ .await;
// No vote reaches a, so its remake stays undecided for its settle period.
let cut = LinkParams {