aboutsummaryrefslogtreecommitdiff
path: root/src/test/util/random.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/util/random.cpp')
-rw-r--r--src/test/util/random.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/test/util/random.cpp b/src/test/util/random.cpp
index 32d785e45d..770848f708 100644
--- a/src/test/util/random.cpp
+++ b/src/test/util/random.cpp
@@ -12,6 +12,8 @@
#include <cstdlib>
#include <iostream>
+std::atomic<bool> g_seeded_g_prng_zero{false};
+
extern void MakeRandDeterministicDANGEROUS(const uint256& seed) noexcept;
void SeedRandomStateForTest(SeedRand seedtype)
@@ -36,6 +38,10 @@ void SeedRandomStateForTest(SeedRand seedtype)
return GetRandHash();
}();
+ g_seeded_g_prng_zero = seedtype == SeedRand::ZEROS;
+ if constexpr (G_FUZZING) {
+ Assert(g_seeded_g_prng_zero); // Only SeedRandomStateForTest(SeedRand::ZEROS) is allowed in fuzz tests
+ }
const uint256& seed{seedtype == SeedRand::FIXED_SEED ? ctx_seed : uint256::ZERO};
LogInfo("Setting random seed for current tests to %s=%s\n", RANDOM_CTX_SEED, seed.GetHex());
MakeRandDeterministicDANGEROUS(seed);