Fix flaky optimistic violation detection cluster test (#18027)

* Fix flaky optimistic violation detection cluster test

* Add small sleep to avoid tight loop
This commit is contained in:
Ashwin Sekar 2021-06-17 13:22:46 -07:00 committed by GitHub
parent 0a81c37fce
commit 423e0d90ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 2 deletions

View File

@ -2184,11 +2184,21 @@ fn test_optimistic_confirmation_violation_detection() {
OptimisticConfirmationVerifier::format_optimistic_confirmed_slot_violation_log(
prev_voted_slot,
);
// Violation detection thread can be behind so poll logs up to 10 seconds
if let Some(mut buf) = buf {
let start = Instant::now();
let mut success = false;
let mut output = String::new();
buf.read_to_string(&mut output).unwrap();
assert!(output.contains(&expected_log));
while start.elapsed().as_secs() < 10 {
buf.read_to_string(&mut output).unwrap();
if output.contains(&expected_log) {
success = true;
break;
}
sleep(Duration::from_millis(10));
}
print!("{}", output);
assert!(success);
} else {
panic!("dumped log and disabled testing");
}