aboutsummaryrefslogtreecommitdiff
path: root/test/functional/feature_assumeutxo.py
diff options
context:
space:
mode:
authorHernan Marino <hernanmarino@protonmail.com>2024-02-05 16:57:45 -0300
committerHernan Marino <hernanmarino@protonmail.com>2024-02-09 00:30:17 -0300
commit8d20602e555dfe026b421363ee32cfca17c674d8 (patch)
tree3b20c28f3d06211a188d1fc1a1ee03036c6db5d4 /test/functional/feature_assumeutxo.py
parent9eeee7caa3f95ee17a645e12d330261f8e3c2dbf (diff)
downloadbitcoin-8d20602e555dfe026b421363ee32cfca17c674d8.tar.xz
test, assumeutxo: Add test to ensure failure when mempool not empty
Diffstat (limited to 'test/functional/feature_assumeutxo.py')
-rwxr-xr-xtest/functional/feature_assumeutxo.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/test/functional/feature_assumeutxo.py b/test/functional/feature_assumeutxo.py
index 528680f2ca..60dd751ff8 100755
--- a/test/functional/feature_assumeutxo.py
+++ b/test/functional/feature_assumeutxo.py
@@ -60,7 +60,7 @@ class AssumeutxoTest(BitcoinTestFramework):
self.extra_args = [
[],
["-fastprune", "-prune=1", "-blockfilterindex=1", "-coinstatsindex=1"],
- ["-txindex=1", "-blockfilterindex=1", "-coinstatsindex=1"],
+ ["-persistmempool=0","-txindex=1", "-blockfilterindex=1", "-coinstatsindex=1"],
]
def setup_network(self):
@@ -135,6 +135,19 @@ class AssumeutxoTest(BitcoinTestFramework):
rmtree(chainstate_snapshot_path)
self.start_node(0)
+ def test_invalid_mempool_state(self, dump_output_path):
+ self.log.info("Test bitcoind should fail when mempool not empty.")
+ node=self.nodes[2]
+ tx = MiniWallet(node).send_self_transfer(from_node=node)
+
+ assert tx['txid'] in node.getrawmempool()
+
+ # Attempt to load the snapshot on Node 2 and expect it to fail
+ with node.assert_debug_log(expected_msgs=["[snapshot] can't activate a snapshot when mempool not empty"]):
+ assert_raises_rpc_error(-32603, "Unable to load UTXO snapshot", node.loadtxoutset, dump_output_path)
+
+ self.restart_node(2, extra_args=self.extra_args[2])
+
def run_test(self):
"""
Bring up two (disconnected) nodes, mine some new blocks on the first,
@@ -197,6 +210,7 @@ class AssumeutxoTest(BitcoinTestFramework):
assert_equal(n0.getblockchaininfo()["blocks"], FINAL_HEIGHT)
+ self.test_invalid_mempool_state(dump_output['path'])
self.test_invalid_snapshot_scenarios(dump_output['path'])
self.test_invalid_chainstate_scenarios()