diff options
author | John Newbery <john@johnnewbery.com> | 2020-10-23 22:03:24 +0100 |
---|---|---|
committer | John Newbery <john@johnnewbery.com> | 2021-08-12 10:41:11 +0100 |
commit | a4d78546b0858602c60c03fdf8b35ca666ab2e56 (patch) | |
tree | c029c3a4ea6b74ff7d9977138d18661ab4181d69 /src/bench | |
parent | 10aac241455a3270462d49b53732477ed97623e7 (diff) |
[addrman] Make addrman consistency checks a runtime option
Currently addrman consistency checks are a compile time option, and are not
enabled in our CI. It's unlikely anyone is running these consistency checks.
Make them a runtime option instead, where users can enable addrman
consistency checks every n operations (similar to mempool tests). Update
the addrman unit tests to do internal consistency checks every 100
operations (checking on every operations causes the test runtime to
increase by several seconds).
Also assert on a failed addrman consistency check to terminate program
execution.
Diffstat (limited to 'src/bench')
-rw-r--r-- | src/bench/addrman.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/bench/addrman.cpp b/src/bench/addrman.cpp index e1175e44ec..5ae2dafd5a 100644 --- a/src/bench/addrman.cpp +++ b/src/bench/addrman.cpp @@ -72,7 +72,7 @@ static void AddrManAdd(benchmark::Bench& bench) { CreateAddresses(); - CAddrMan addrman(/* deterministic */ false); + CAddrMan addrman(/* deterministic */ false, /* consistency_check_ratio */ 0); bench.run([&] { AddAddressesToAddrMan(addrman); @@ -82,7 +82,7 @@ static void AddrManAdd(benchmark::Bench& bench) static void AddrManSelect(benchmark::Bench& bench) { - CAddrMan addrman(/* deterministic */ false); + CAddrMan addrman(/* deterministic */ false, /* consistency_check_ratio */ 0); FillAddrMan(addrman); @@ -94,7 +94,7 @@ static void AddrManSelect(benchmark::Bench& bench) static void AddrManGetAddr(benchmark::Bench& bench) { - CAddrMan addrman(/* deterministic */ false); + CAddrMan addrman(/* deterministic */ false, /* consistency_check_ratio */ 0); FillAddrMan(addrman); @@ -116,7 +116,7 @@ static void AddrManGood(benchmark::Bench& bench) std::vector<std::unique_ptr<CAddrMan>> addrmans(addrman_count); for (size_t i{0}; i < addrman_count; ++i) { - addrmans[i] = std::make_unique<CAddrMan>(/* deterministic */ false); + addrmans[i] = std::make_unique<CAddrMan>(/* deterministic */ false, /* consistency_check_ratio */ 0); FillAddrMan(*addrmans[i]); } |