diff options
| author | tv <tv@krebsco.de> | 2026-11-06 18:54:19 +0100 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-11-06 18:54:19 +0100 |
| commit | 77e17597319c508c3a431f74c9951145fb31bea0 (patch) | |
| tree | 0c4c7e7f9cd234494681a443953129ad3cca4347 /src | |
| parent | 8a134df62167a85fa083ccf480a939fd654e2419 (diff) | |
fix simtest clock off proposer waits
Diffstat (limited to 'src')
| -rw-r--r-- | src/simtest/remakes.rs | 13 |
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 { |
