aboutsummaryrefslogtreecommitdiff
path: root/src/test/fuzz/mempool_utils.h
diff options
context:
space:
mode:
authorCarl Dong <contact@carldong.me>2022-05-17 14:45:18 -0400
committerCarl Dong <contact@carldong.me>2022-07-15 12:26:00 -0400
commitb857ac60d9a0433036519c26675378bbf56a1de1 (patch)
treec68426f9c01a42b17b8571a863e792ca81c2744d /src/test/fuzz/mempool_utils.h
parentb3267258b052557fc136b9a4dcb754afb9219470 (diff)
downloadbitcoin-b857ac60d9a0433036519c26675378bbf56a1de1.tar.xz
test/fuzz: Invoke LoadMempool via CChainState
Not only does this increase coverage, it is also more correct in that when ::LoadMempool is called with a mempool and chainstate, it calls AcceptToMemoryPool with just the chainstate. AcceptToMemoryPool will then act on the chainstate's mempool via CChainState::GetMempool, which may be different from the mempool originally passed to ::LoadMempool. (In this fuzz test's case, it definitely is different) Also, move DummyChainstate to its own file since it's now used by the validation_load_mempool fuzz test to replace CChainState's m_mempool.
Diffstat (limited to 'src/test/fuzz/mempool_utils.h')
-rw-r--r--src/test/fuzz/mempool_utils.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/fuzz/mempool_utils.h b/src/test/fuzz/mempool_utils.h
new file mode 100644
index 0000000000..bfe12e30ba
--- /dev/null
+++ b/src/test/fuzz/mempool_utils.h
@@ -0,0 +1,19 @@
+// Copyright (c) 2022 The Bitcoin Core developers
+// Distributed under the MIT software license, see the accompanying
+// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
+#ifndef BITCOIN_TEST_FUZZ_MEMPOOL_UTILS_H
+#define BITCOIN_TEST_FUZZ_MEMPOOL_UTILS_H
+
+#include <validation.h>
+
+class DummyChainState final : public CChainState
+{
+public:
+ void SetMempool(CTxMemPool* mempool)
+ {
+ m_mempool = mempool;
+ }
+};
+
+#endif // BITCOIN_TEST_FUZZ_MEMPOOL_UTILS_H