From 8a085fc828cef14674ef342906b715dd816e8047 Mon Sep 17 00:00:00 2001 From: Eitan Seri-Levi Date: Wed, 18 Sep 2024 20:12:25 -0700 Subject: [PATCH] Fix test failure on Rust v1.81 (#6407) * generate rand f64 instead of arbitrary to prevent NaN vals * reintroduce quickcheck arbitrary but prevet NaN --- .../lighthouse_network/src/peer_manager/mod.rs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/beacon_node/lighthouse_network/src/peer_manager/mod.rs b/beacon_node/lighthouse_network/src/peer_manager/mod.rs index 4d913312354..320bbc4d638 100644 --- a/beacon_node/lighthouse_network/src/peer_manager/mod.rs +++ b/beacon_node/lighthouse_network/src/peer_manager/mod.rs @@ -2345,6 +2345,16 @@ mod tests { gossipsub_score: f64, } + // generate an arbitrary f64 while preventing NaN values + fn arbitrary_f64(g: &mut Gen) -> f64 { + loop { + let val = f64::arbitrary(g); + if !val.is_nan() { + return val; + } + } + } + impl Arbitrary for PeerCondition { fn arbitrary(g: &mut Gen) -> Self { let attestation_net_bitfield = { @@ -2370,9 +2380,9 @@ mod tests { outgoing: bool::arbitrary(g), attestation_net_bitfield, sync_committee_net_bitfield, - score: f64::arbitrary(g), + score: arbitrary_f64(g), trusted: bool::arbitrary(g), - gossipsub_score: f64::arbitrary(g), + gossipsub_score: arbitrary_f64(g), } } }