diff options
Diffstat (limited to 'test_utils/src/relay.rs')
| -rw-r--r-- | test_utils/src/relay.rs | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/test_utils/src/relay.rs b/test_utils/src/relay.rs index e47ab5d..82a8f8d 100644 --- a/test_utils/src/relay.rs +++ b/test_utils/src/relay.rs | |||
| @@ -255,21 +255,27 @@ pub fn expect_send_with_progress( | |||
| 255 | " - {} -------------------- 0/{event_count}", | 255 | " - {} -------------------- 0/{event_count}", |
| 256 | &relays[0].0 | 256 | &relays[0].0 |
| 257 | ))?; | 257 | ))?; |
| 258 | for relay in &relays { | 258 | let last_relay_outcome = outcome_message(relays.last().unwrap()); |
| 259 | // if successful | 259 | let mut s = String::new(); |
| 260 | if relay.1 { | 260 | loop { |
| 261 | p.expect_eventually(format!(" y {}", relay.0))?; | 261 | s.push_str(&p.expect_eventually(&last_relay_outcome)?); |
| 262 | } else { | 262 | s.push_str(&last_relay_outcome); |
| 263 | p.expect_eventually(format!(" x {} {}", relay.0, relay.2))?; | 263 | if relays.iter().all(|r| s.contains(&outcome_message(r))) { |
| 264 | // all responses have been received with correct outcome | ||
| 265 | break; | ||
| 264 | } | 266 | } |
| 265 | // could check that before only contains titles: | ||
| 266 | // - # y x n/n and whitespace | ||
| 267 | // let before = p.expect_eventually(format!(" â {title}"))?; | ||
| 268 | // assert_eq!("", before.trim()); | ||
| 269 | } | 267 | } |
| 270 | Ok(()) | 268 | Ok(()) |
| 271 | } | 269 | } |
| 272 | 270 | ||
| 271 | fn outcome_message(relay: &(&str, bool, &str)) -> String { | ||
| 272 | if relay.1 { | ||
| 273 | format!(" y {}", relay.0) | ||
| 274 | } else { | ||
| 275 | format!(" x {} {}", relay.0, relay.2) | ||
| 276 | } | ||
| 277 | } | ||
| 278 | |||
| 273 | pub fn expect_send_with_progress_exact_interaction( | 279 | pub fn expect_send_with_progress_exact_interaction( |
| 274 | p: &mut CliTester, | 280 | p: &mut CliTester, |
| 275 | titles: Vec<&str>, | 281 | titles: Vec<&str>, |