test: remove unneeded node from feature_blockfilterindex_prune.py

pull/21297/head
Jon Atack 4 years ago
parent ace3f4cbdf
commit 88c4b9b761
No known key found for this signature in database
GPG Key ID: 4F5721B3D0E3921D

@ -13,55 +13,52 @@ from test_framework.util import (
class FeatureBlockfilterindexPruneTest(BitcoinTestFramework): class FeatureBlockfilterindexPruneTest(BitcoinTestFramework):
def set_test_params(self): def set_test_params(self):
self.num_nodes = 2 self.num_nodes = 1
self.extra_args = [["-fastprune", "-prune=1"], ["-fastprune", "-prune=1", "-blockfilterindex=1"]] self.extra_args = [["-fastprune", "-prune=1", "-blockfilterindex=1"]]
def sync_index(self, height): def sync_index(self, height):
expected = {'basic block filter index': {'synced': True, 'best_block_height': height}} expected = {'basic block filter index': {'synced': True, 'best_block_height': height}}
self.wait_until(lambda: self.nodes[1].getindexinfo() == expected) self.wait_until(lambda: self.nodes[0].getindexinfo() == expected)
def run_test(self): def run_test(self):
self.log.info("check if we can access a blockfilter when pruning is enabled but no blocks are actually pruned") self.log.info("check if we can access a blockfilter when pruning is enabled but no blocks are actually pruned")
self.sync_index(height=200) self.sync_index(height=200)
assert_greater_than(len(self.nodes[1].getblockfilter(self.nodes[1].getbestblockhash())['filter']), 0) assert_greater_than(len(self.nodes[0].getblockfilter(self.nodes[0].getbestblockhash())['filter']), 0)
# Mine two batches of blocks to avoid hitting NODE_NETWORK_LIMITED_MIN_BLOCKS disconnection # Mine two batches of blocks to avoid hitting NODE_NETWORK_LIMITED_MIN_BLOCKS disconnection
self.nodes[1].generate(250) self.nodes[0].generate(250)
self.sync_all() self.sync_all()
self.nodes[1].generate(250) self.nodes[0].generate(250)
self.sync_all() self.sync_all()
self.sync_index(height=700) self.sync_index(height=700)
self.log.info("prune some blocks") self.log.info("prune some blocks")
pruneheight = self.nodes[1].pruneblockchain(400) pruneheight = self.nodes[0].pruneblockchain(400)
assert_equal(pruneheight, 250) assert_equal(pruneheight, 250)
self.log.info("check if we can access the tips blockfilter when we have pruned some blocks") self.log.info("check if we can access the tips blockfilter when we have pruned some blocks")
assert_greater_than(len(self.nodes[1].getblockfilter(self.nodes[1].getbestblockhash())['filter']), 0) assert_greater_than(len(self.nodes[0].getblockfilter(self.nodes[0].getbestblockhash())['filter']), 0)
self.log.info("check if we can access the blockfilter of a pruned block") self.log.info("check if we can access the blockfilter of a pruned block")
assert_greater_than(len(self.nodes[1].getblockfilter(self.nodes[1].getblockhash(2))['filter']), 0) assert_greater_than(len(self.nodes[0].getblockfilter(self.nodes[0].getblockhash(2))['filter']), 0)
self.log.info("start node without blockfilterindex") self.log.info("start node without blockfilterindex")
self.stop_node(1) self.restart_node(0, extra_args=["-fastprune", "-prune=1"])
self.start_node(1, extra_args=self.extra_args[0])
self.log.info("make sure accessing the blockfilters throws an error") self.log.info("make sure accessing the blockfilters throws an error")
assert_raises_rpc_error(-1, "Index is not enabled for filtertype basic", self.nodes[1].getblockfilter, self.nodes[1].getblockhash(2)) assert_raises_rpc_error(-1, "Index is not enabled for filtertype basic", self.nodes[0].getblockfilter, self.nodes[0].getblockhash(2))
self.nodes[1].generate(1000) self.nodes[0].generate(1000)
self.log.info("prune below the blockfilterindexes best block while blockfilters are disabled") self.log.info("prune below the blockfilterindexes best block while blockfilters are disabled")
pruneheight_new = self.nodes[1].pruneblockchain(1000) pruneheight_new = self.nodes[0].pruneblockchain(1000)
assert_greater_than(pruneheight_new, pruneheight) assert_greater_than(pruneheight_new, pruneheight)
self.stop_node(1) self.stop_node(0)
self.log.info("make sure we get an init error when starting the node again with block filters") self.log.info("make sure we get an init error when starting the node again with block filters")
with self.nodes[1].assert_debug_log(["basic block filter index best block of the index goes beyond pruned data. Please disable the index or reindex (which will download the whole blockchain again)"]): with self.nodes[0].assert_debug_log(["basic block filter index best block of the index goes beyond pruned data. Please disable the index or reindex (which will download the whole blockchain again)"]):
self.nodes[1].assert_start_raises_init_error(extra_args=self.extra_args[1]) self.nodes[0].assert_start_raises_init_error(extra_args=["-fastprune", "-prune=1", "-blockfilterindex=1"])
self.log.info("make sure the node starts again with the -reindex arg") self.log.info("make sure the node starts again with the -reindex arg")
reindex_args = self.extra_args[1] self.start_node(0, extra_args = ["-fastprune", "-prune=1", "-blockfilterindex", "-reindex"])
reindex_args.append("-reindex")
self.start_node(1, extra_args=reindex_args)
if __name__ == '__main__': if __name__ == '__main__':

Loading…
Cancel
Save