Skip to content

Commit 140a49c

Browse files
committed
test: check that pruneblockchain RPC fails for future block or timestamp
1 parent df6e961 commit 140a49c

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

test/functional/feature_pruning.py

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,7 @@ def manual_test(self, node_number, use_timestamp):
277277
self.start_node(node_number)
278278
node = self.nodes[node_number]
279279
assert_equal(node.getblockcount(), 995)
280-
assert_raises_rpc_error(-1, "not in prune mode", node.pruneblockchain, 500)
280+
assert_raises_rpc_error(-1, "Cannot prune blocks because node is not in prune mode", node.pruneblockchain, 500)
281281

282282
# now re-start in manual pruning mode
283283
self.restart_node(node_number, extra_args=["-prune=1"])
@@ -308,11 +308,18 @@ def has_block(index):
308308
self.generate(node, 6, sync_fun=self.no_op)
309309
assert_equal(node.getblockchaininfo()["blocks"], 1001)
310310

311+
# prune parameter in the future (block or timestamp) should raise an exception
312+
future_parameter = height(1001) + 5
313+
if use_timestamp:
314+
assert_raises_rpc_error(-8, "Could not find block with at least the specified timestamp", node.pruneblockchain, future_parameter)
315+
else:
316+
assert_raises_rpc_error(-8, "Blockchain is shorter than the attempted prune height", node.pruneblockchain, future_parameter)
317+
311318
# Pruned block should still know the number of transactions
312319
assert_equal(node.getblockheader(node.getblockhash(1))["nTx"], block1_details["nTx"])
313320

314321
# negative heights should raise an exception
315-
assert_raises_rpc_error(-8, "Negative", node.pruneblockchain, -10)
322+
assert_raises_rpc_error(-8, "Negative block height", node.pruneblockchain, -10)
316323

317324
# height=100 too low to prune first block file so this is a no-op
318325
prune(100)

0 commit comments

Comments
 (0)