From 2f8e1489c90f412d5fc6795db7d6cac7e9c0f30d Mon Sep 17 00:00:00 2001 From: Thomas Eizinger Date: Mon, 5 Jun 2023 22:37:06 +0200 Subject: [PATCH] fix(swarm): make test not flaky In the unlikely event that we generated a random number twice, the 2nd address would not get added. Ensure we loop until we have 20 addresses. Pull-Request: #4030. --- swarm/src/behaviour/external_addresses.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/swarm/src/behaviour/external_addresses.rs b/swarm/src/behaviour/external_addresses.rs index a3d6e3c0..307f0f93 100644 --- a/swarm/src/behaviour/external_addresses.rs +++ b/swarm/src/behaviour/external_addresses.rs @@ -126,7 +126,7 @@ mod tests { fn when_pushing_more_than_max_addresses_oldest_is_evicted() { let mut addresses = ExternalAddresses::default(); - for _ in 0..MAX_LOCAL_EXTERNAL_ADDRS { + while addresses.as_slice().len() < MAX_LOCAL_EXTERNAL_ADDRS { let random_address = Multiaddr::empty().with(Protocol::Memory(rand::thread_rng().gen_range(0..1000))); addresses.on_swarm_event(