Skip to content

Commit 2493d85

Browse files
authored
tests: fix feature_pruning.py (#3967)
* tests: postpone dip3 and dip8 activation in feature_pruning.py * tests: Mine one block before restart to avoid automatic recovery from forks
1 parent 7188004 commit 2493d85

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

test/functional/feature_pruning.py

+15-13
Original file line numberDiff line numberDiff line change
@@ -32,15 +32,15 @@ def set_test_params(self):
3232

3333
# Create nodes 0 and 1 to mine.
3434
# Create node 2 to test pruning.
35-
self.full_node_default_args = ["-maxreceivebuffer=20000","-blockmaxsize=999000", "-checkblocks=5", "-limitdescendantcount=100", "-limitdescendantsize=5000", "-limitancestorcount=100", "-limitancestorsize=5000" ]
35+
self.full_node_default_args = ["-dip3params=2000:2000", "-dip8params=2000", "-maxreceivebuffer=20000","-blockmaxsize=999000", "-checkblocks=5", "-limitdescendantcount=100", "-limitdescendantsize=5000", "-limitancestorcount=100", "-limitancestorsize=5000" ]
3636
# Create nodes 3 and 4 to test manual pruning (they will be re-started with manual pruning later)
3737
# Create nodes 5 to test wallet in prune mode, but do not connect
3838
self.extra_args = [self.full_node_default_args,
3939
self.full_node_default_args,
40-
["-disablegovernance","-txindex=0","-maxreceivebuffer=20000","-prune=550"],
41-
["-disablegovernance","-txindex=0","-maxreceivebuffer=20000","-blockmaxsize=999000"],
42-
["-disablegovernance","-txindex=0","-maxreceivebuffer=20000","-blockmaxsize=999000"],
43-
["-disablegovernance","-txindex=0","-prune=550"]]
40+
["-dip3params=2000:2000", "-dip8params=2000", "-disablegovernance","-txindex=0","-maxreceivebuffer=20000","-prune=550"],
41+
["-dip3params=2000:2000", "-dip8params=2000", "-disablegovernance","-txindex=0","-maxreceivebuffer=20000","-blockmaxsize=999000"],
42+
["-dip3params=2000:2000", "-dip8params=2000", "-disablegovernance","-txindex=0","-maxreceivebuffer=20000","-blockmaxsize=999000"],
43+
["-dip3params=2000:2000", "-dip8params=2000", "-disablegovernance","-txindex=0","-prune=550"]]
4444

4545
def setup_network(self):
4646
self.setup_nodes()
@@ -125,7 +125,7 @@ def reorg_test(self):
125125
# Reboot node 1 to clear its mempool (hopefully make the invalidate faster)
126126
# Lower the block max size so we don't keep mining all our big mempool transactions (from disconnected blocks)
127127
self.stop_node(1)
128-
self.start_node(1, extra_args=["-maxreceivebuffer=20000","-blockmaxsize=5000", "-checkblocks=5"])
128+
self.start_node(1, extra_args=["-dip3params=2000:2000", "-dip8params=2000", "-maxreceivebuffer=20000","-blockmaxsize=5000", "-checkblocks=5"])
129129

130130
height = self.nodes[1].getblockcount()
131131
self.log.info("Current block height: %d" % height)
@@ -146,12 +146,14 @@ def reorg_test(self):
146146
assert(self.nodes[1].getblockcount() == invalidheight - 1)
147147
self.log.info("New best height: %d" % self.nodes[1].getblockcount())
148148

149+
# Mine one block to avoid automatic recovery from forks on restart
150+
self.nodes[1].generate(1)
149151
# Reboot node1 to clear those giant tx's from mempool
150152
self.stop_node(1)
151-
self.start_node(1, extra_args=["-maxreceivebuffer=20000","-blockmaxsize=5000", "-checkblocks=5"])
153+
self.start_node(1, extra_args=["-dip3params=2000:2000", "-dip8params=2000", "-maxreceivebuffer=20000","-blockmaxsize=5000", "-checkblocks=5"])
152154

153155
self.log.info("Generating new longer chain of 300 more blocks")
154-
self.nodes[1].generate(300)
156+
self.nodes[1].generate(299)
155157

156158
self.log.info("Reconnect nodes")
157159
connect_nodes(self.nodes[0], 1)
@@ -223,14 +225,14 @@ def reorg_back(self):
223225

224226
def manual_test(self, node_number, use_timestamp):
225227
# at this point, node has 995 blocks and has not yet run in prune mode
226-
self.start_node(node_number, extra_args=["-disablegovernance", "-txindex=0"])
228+
self.start_node(node_number, extra_args=["-dip3params=2000:2000", "-dip8params=2000", "-disablegovernance", "-txindex=0"])
227229
node = self.nodes[node_number]
228230
assert_equal(node.getblockcount(), 995)
229231
assert_raises_rpc_error(-1, "not in prune mode", node.pruneblockchain, 500)
230232

231233
# now re-start in manual pruning mode
232234
self.stop_node(node_number)
233-
self.start_node(node_number, extra_args=["-disablegovernance", "-txindex=0", "-prune=1"])
235+
self.start_node(node_number, extra_args=["-dip3params=2000:2000", "-dip8params=2000", "-disablegovernance", "-txindex=0", "-prune=1"])
234236
node = self.nodes[node_number]
235237
assert_equal(node.getblockcount(), 995)
236238

@@ -312,15 +314,15 @@ def has_block(index):
312314

313315
# stop node, start back up with auto-prune at 550MB, make sure still runs
314316
self.stop_node(node_number)
315-
self.start_node(node_number, extra_args=["-disablegovernance", "-txindex=0", "-prune=550"])
317+
self.start_node(node_number, extra_args=["-dip3params=2000:2000", "-dip8params=2000", "-disablegovernance", "-txindex=0", "-prune=550"])
316318

317319
self.log.info("Success")
318320

319321
def wallet_test(self):
320322
# check that the pruning node's wallet is still in good shape
321323
self.log.info("Stop and start pruning node to trigger wallet rescan")
322324
self.stop_node(2)
323-
self.start_node(2, extra_args=["-disablegovernance", "-txindex=0", "-prune=550"])
325+
self.start_node(2, extra_args=["-dip3params=2000:2000", "-dip8params=2000", "-disablegovernance", "-txindex=0", "-prune=550"])
324326
self.log.info("Success")
325327

326328
# check that wallet loads successfully when restarting a pruned node after IBD.
@@ -330,7 +332,7 @@ def wallet_test(self):
330332
nds = [self.nodes[0], self.nodes[5]]
331333
self.sync_blocks(nds, wait=5, timeout=300)
332334
self.stop_node(5) #stop and start to trigger rescan
333-
self.start_node(5, extra_args=["-disablegovernance", "-txindex=0", "-prune=550"])
335+
self.start_node(5, extra_args=["-dip3params=2000:2000", "-dip8params=2000", "-disablegovernance", "-txindex=0", "-prune=550"])
334336
self.log.info("Success")
335337

336338
def run_test(self):

0 commit comments

Comments
 (0)