aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorfanquake <fanquake@gmail.com>2023-10-05 13:52:07 +0100
committerfanquake <fanquake@gmail.com>2023-10-05 14:06:39 +0100
commit52c6904c789103a316253df4cb20aa785b2afc42 (patch)
treede1a757eae00898e206fd4000cc11ac06282a38a /src/test
parent78fd3c2672400fb958f2d25ddd40955c7deed4cd (diff)
parent4cafe9f176e93ebb6c38abb12140e8d8be005cbf (diff)
Merge bitcoin/bitcoin#28558: Make PeerManager own a FastRandomContext
4cafe9f176e93ebb6c38abb12140e8d8be005cbf [test] Make PeerManager's rng deterministic in tests (dergoegge) fecec3e1c661ba273470ecc5ef12d4c070b53050 [net processing] FeeFilterRounder doesn't own a FastRandomContext (dergoegge) 47520ed209d9341702a0fb6006bee6f63f7da42e [net processing] Make fee filter rounder non-global (dergoegge) 77506f4ac6b3a3d7396a3a6101345019e05b3b10 [net processing] Addr shuffle uses PeerManager's rng (dergoegge) a648dd79e5ebfdb627d0221b1207862efb664dfc [net processing] PushAddress uses PeerManager's rng (dergoegge) 87c706713e5d1c78bad943a42bf7c69047d28ea5 [net processing] PeerManager holds a FastRandomContext (dergoegge) Pull request description: This lets us avoid some non-determinism in tests (also see #28537). ACKs for top commit: MarcoFalke: re-ACK 4cafe9f176e93ebb6c38abb12140e8d8be005cbf 🕗 glozow: concept && light code review ACK 4cafe9f176e93ebb6c38abb12140e8d8be005cbf Tree-SHA512: 3c18700773d0bc547ccb6442c41567e6f26b0b50fab5b79620da417ec91b9c0ae1395d15258da3aa4a91447b8ce560145dd135e39fbbd0610749e528e665b111
Diffstat (limited to 'src/test')
-rw-r--r--src/test/fuzz/fees.cpp3
-rw-r--r--src/test/policy_fee_tests.cpp3
-rw-r--r--src/test/util/setup_common.cpp1
3 files changed, 5 insertions, 2 deletions
diff --git a/src/test/fuzz/fees.cpp b/src/test/fuzz/fees.cpp
index deb0ed65ca..38a8c6798e 100644
--- a/src/test/fuzz/fees.cpp
+++ b/src/test/fuzz/fees.cpp
@@ -17,7 +17,8 @@ FUZZ_TARGET(fees)
{
FuzzedDataProvider fuzzed_data_provider(buffer.data(), buffer.size());
const CFeeRate minimal_incremental_fee{ConsumeMoney(fuzzed_data_provider)};
- FeeFilterRounder fee_filter_rounder{minimal_incremental_fee};
+ FastRandomContext rng{/*fDeterministic=*/true};
+ FeeFilterRounder fee_filter_rounder{minimal_incremental_fee, rng};
LIMITED_WHILE(fuzzed_data_provider.ConsumeBool(), 10000) {
const CAmount current_minimum_fee = ConsumeMoney(fuzzed_data_provider);
const CAmount rounded_fee = fee_filter_rounder.round(current_minimum_fee);
diff --git a/src/test/policy_fee_tests.cpp b/src/test/policy_fee_tests.cpp
index 25fb5343e3..29d70cb5f8 100644
--- a/src/test/policy_fee_tests.cpp
+++ b/src/test/policy_fee_tests.cpp
@@ -13,7 +13,8 @@ BOOST_AUTO_TEST_SUITE(policy_fee_tests)
BOOST_AUTO_TEST_CASE(FeeRounder)
{
- FeeFilterRounder fee_rounder{CFeeRate{1000}};
+ FastRandomContext rng{/*fDeterministic=*/true};
+ FeeFilterRounder fee_rounder{CFeeRate{1000}, rng};
// check that 1000 rounds to 974 or 1071
std::set<CAmount> results;
diff --git a/src/test/util/setup_common.cpp b/src/test/util/setup_common.cpp
index 2947bc3fcb..e27d5a27ad 100644
--- a/src/test/util/setup_common.cpp
+++ b/src/test/util/setup_common.cpp
@@ -256,6 +256,7 @@ TestingSetup::TestingSetup(
m_node.connman = std::make_unique<ConnmanTestMsg>(0x1337, 0x1337, *m_node.addrman, *m_node.netgroupman, Params()); // Deterministic randomness for tests.
PeerManager::Options peerman_opts;
ApplyArgsManOptions(*m_node.args, peerman_opts);
+ peerman_opts.deterministic_rng = true;
m_node.peerman = PeerManager::make(*m_node.connman, *m_node.addrman,
m_node.banman.get(), *m_node.chainman,
*m_node.mempool, peerman_opts);