aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Falbesoner <sebastian.falbesoner@gmail.com>2021-12-16 16:43:27 +0100
committerSebastian Falbesoner <sebastian.falbesoner@gmail.com>2021-12-16 16:43:27 +0100
commit140a49ce5e547a1b520a7cd063af8308184e7cbf (patch)
tree77cc04dab66e7e182963b0a2988f679c6b39d0d2
parentdf6e961c417bc6e733f2fcefd2d712178a3da4b6 (diff)
downloadbitcoin-140a49ce5e547a1b520a7cd063af8308184e7cbf.tar.xz
test: check that pruneblockchain RPC fails for future block or timestamp
-rwxr-xr-xtest/functional/feature_pruning.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/test/functional/feature_pruning.py b/test/functional/feature_pruning.py
index 0edf1d66c8..39cdb2750b 100755
--- a/test/functional/feature_pruning.py
+++ b/test/functional/feature_pruning.py
@@ -277,7 +277,7 @@ class PruneTest(BitcoinTestFramework):
self.start_node(node_number)
node = self.nodes[node_number]
assert_equal(node.getblockcount(), 995)
- assert_raises_rpc_error(-1, "not in prune mode", node.pruneblockchain, 500)
+ assert_raises_rpc_error(-1, "Cannot prune blocks because node is not in prune mode", node.pruneblockchain, 500)
# now re-start in manual pruning mode
self.restart_node(node_number, extra_args=["-prune=1"])
@@ -308,11 +308,18 @@ class PruneTest(BitcoinTestFramework):
self.generate(node, 6, sync_fun=self.no_op)
assert_equal(node.getblockchaininfo()["blocks"], 1001)
+ # prune parameter in the future (block or timestamp) should raise an exception
+ future_parameter = height(1001) + 5
+ if use_timestamp:
+ assert_raises_rpc_error(-8, "Could not find block with at least the specified timestamp", node.pruneblockchain, future_parameter)
+ else:
+ assert_raises_rpc_error(-8, "Blockchain is shorter than the attempted prune height", node.pruneblockchain, future_parameter)
+
# Pruned block should still know the number of transactions
assert_equal(node.getblockheader(node.getblockhash(1))["nTx"], block1_details["nTx"])
# negative heights should raise an exception
- assert_raises_rpc_error(-8, "Negative", node.pruneblockchain, -10)
+ assert_raises_rpc_error(-8, "Negative block height", node.pruneblockchain, -10)
# height=100 too low to prune first block file so this is a no-op
prune(100)