diff options
author | Sebastian Falbesoner <sebastian.falbesoner@gmail.com> | 2021-12-16 16:43:27 +0100 |
---|---|---|
committer | Sebastian Falbesoner <sebastian.falbesoner@gmail.com> | 2021-12-16 16:43:27 +0100 |
commit | 140a49ce5e547a1b520a7cd063af8308184e7cbf (patch) | |
tree | 77cc04dab66e7e182963b0a2988f679c6b39d0d2 /test | |
parent | df6e961c417bc6e733f2fcefd2d712178a3da4b6 (diff) | |
download | bitcoin-140a49ce5e547a1b520a7cd063af8308184e7cbf.tar.xz |
test: check that pruneblockchain RPC fails for future block or timestamp
Diffstat (limited to 'test')
-rwxr-xr-x | test/functional/feature_pruning.py | 11 |
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) |