From c4cc61db98ff1f0a5943fc7469adf9d9df6fddcd Mon Sep 17 00:00:00 2001 From: glozow Date: Wed, 15 Jan 2025 18:18:25 -0500 Subject: [PATCH] [fuzz] GetCandidatePeers --- src/test/fuzz/txrequest.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/test/fuzz/txrequest.cpp b/src/test/fuzz/txrequest.cpp index 74d20f86e04..931ddf03288 100644 --- a/src/test/fuzz/txrequest.cpp +++ b/src/test/fuzz/txrequest.cpp @@ -295,6 +295,19 @@ public: tracked += m_announcements[txhash][peer].m_state != State::NOTHING; inflight += m_announcements[txhash][peer].m_state == State::REQUESTED; candidates += m_announcements[txhash][peer].m_state == State::CANDIDATE; + + std::bitset expected_announcers; + for (int peer = 0; peer < MAX_PEERS; ++peer) { + if (m_announcements[txhash][peer].m_state == State::CANDIDATE || m_announcements[txhash][peer].m_state == State::REQUESTED) { + expected_announcers[peer] = true; + } + } + std::vector candidate_peers; + m_tracker.GetCandidatePeers(TXHASHES[txhash], candidate_peers); + assert(expected_announcers.count() == candidate_peers.size()); + for (const auto& peer : candidate_peers) { + assert(expected_announcers[peer]); + } } assert(m_tracker.Count(peer) == tracked); assert(m_tracker.CountInFlight(peer) == inflight);