Skip to content

Commit 0bbd8bf

Browse files
MarcoFalkeUdjinM6
authored andcommitted
Merge bitcoin#14631: [tests] Move deterministic address import to setup_nodes
3fd7e76 [tests] Move deterministic address import to setup_nodes (John Newbery) Pull request description: This requires a small changes to a few tests, but means that deterministic addresses will always be imported (unless setup_nodes behaviour is explicitly overridden). Tidies up the way we import deterministic addresses, requested in review comment here: bitcoin#14468 (comment). Tree-SHA512: 2b32edf500e286c463398487ab1153116a1dc90f64a53614716373311abdc83d8a251fdd8f42d1146b56e308664deaf62952113f66e98bc37f23968096d1a961
1 parent 8cac4ed commit 0bbd8bf

16 files changed

+29
-45
lines changed

test/functional/feature_addressindex.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ def setup_network(self):
3535
connect_nodes(self.nodes[0], 1)
3636
connect_nodes(self.nodes[0], 2)
3737
connect_nodes(self.nodes[0], 3)
38-
3938
self.sync_all()
39+
self.import_deterministic_coinbase_privkeys()
4040

4141
def run_test(self):
4242
self.log.info("Test that settings can't be changed without -reindex...")

test/functional/feature_dbcrash.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ def skip_test_if_missing_module(self):
7474
def setup_network(self):
7575
self.add_nodes(self.num_nodes, extra_args=self.extra_args)
7676
self.start_nodes()
77+
self.import_deterministic_coinbase_privkeys()
7778
# Leave them unconnected, we'll use submitblock directly in this test
7879

7980
def restart_node(self, node_index, expected_tip):

test/functional/feature_dip3_deterministicmns.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ def setup_network(self):
3535
self.disable_mocktime()
3636
self.add_nodes(1)
3737
self.start_controller_node()
38+
self.import_deterministic_coinbase_privkeys()
3839

3940
def start_controller_node(self):
4041
self.log.info("starting controller node")

test/functional/feature_fee_estimation.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,9 @@ def setup_network(self):
147147
# (17k is room enough for 110 or so transactions)
148148
# Node2 is a stingy miner, that
149149
# produces too small blocks (room for only 55 or so transactions)
150+
self.start_nodes()
151+
self.import_deterministic_coinbase_privkeys()
152+
self.stop_nodes()
150153

151154
def transact_and_mine(self, numblocks, mining_node):
152155
min_fee = Decimal("0.0001")
@@ -174,11 +177,6 @@ def transact_and_mine(self, numblocks, mining_node):
174177
newmem.append(utx)
175178
self.memutxo = newmem
176179

177-
def import_deterministic_coinbase_privkeys(self):
178-
self.start_nodes()
179-
super().import_deterministic_coinbase_privkeys()
180-
self.stop_nodes()
181-
182180
def run_test(self):
183181
self.log.info("This test is time consuming, please be patient")
184182
self.log.info("Splitting inputs so we can generate tx's")

test/functional/feature_pruning.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,8 @@ def setup_network(self):
105105
def setup_nodes(self):
106106
self.add_nodes(self.num_nodes, self.extra_args)
107107
self.start_nodes()
108+
for n in self.nodes:
109+
n.importprivkey(privkey=n.get_deterministic_priv_key().key, label='coinbase', rescan=False)
108110

109111
def create_big_chain(self):
110112
# Start by creating some coinbases we can spend later

test/functional/feature_spentindex.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ def setup_network(self):
3737
connect_nodes(self.nodes[0], 1)
3838
connect_nodes(self.nodes[0], 2)
3939
connect_nodes(self.nodes[0], 3)
40-
4140
self.sync_all()
41+
self.import_deterministic_coinbase_privkeys()
4242

4343
def run_test(self):
4444
self.log.info("Test that settings can't be changed without -reindex...")

test/functional/feature_txindex.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ def setup_network(self):
3535
connect_nodes(self.nodes[0], 1)
3636
connect_nodes(self.nodes[0], 2)
3737
connect_nodes(self.nodes[0], 3)
38-
3938
self.sync_all()
39+
self.import_deterministic_coinbase_privkeys()
4040

4141
def run_test(self):
4242
self.log.info("Mining blocks...")

test/functional/interface_zmq.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ def setup_nodes(self):
7373
]
7474
self.add_nodes(self.num_nodes, self.extra_args)
7575
self.start_nodes()
76+
self.import_deterministic_coinbase_privkeys()
7677

7778
def run_test(self):
7879
try:

test/functional/p2p_node_network_limited.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ def disconnect_all(self):
4343
disconnect_nodes(self.nodes[1], 2)
4444

4545
def setup_network(self):
46-
super(NodeNetworkLimitedTest, self).setup_network()
47-
self.disconnect_all()
46+
self.add_nodes(self.num_nodes, self.extra_args)
47+
self.start_nodes()
4848

4949
def run_test(self):
5050
node = self.nodes[0].add_p2p_connection(P2PIgnoreInv())

test/functional/test_framework/test_framework.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,6 @@ def main(self):
230230
self.skip_test_if_missing_module()
231231
self.setup_chain()
232232
self.setup_network()
233-
self.import_deterministic_coinbase_privkeys()
234233
self.run_test()
235234
success = TestStatus.PASSED
236235
except JSONRPCException:
@@ -353,19 +352,17 @@ def setup_nodes(self):
353352
extra_args = self.extra_args
354353
self.add_nodes(self.num_nodes, extra_args)
355354
self.start_nodes()
355+
self.import_deterministic_coinbase_privkeys()
356356

357357
def import_deterministic_coinbase_privkeys(self):
358-
if self.setup_clean_chain:
359-
return
360-
361358
for n in self.nodes:
362359
try:
363360
n.getwalletinfo()
364361
except JSONRPCException as e:
365362
assert str(e).startswith('Method not found')
366363
continue
367364

368-
n.importprivkey(n.get_deterministic_priv_key().key)
365+
n.importprivkey(privkey=n.get_deterministic_priv_key().key, label='coinbase')
369366

370367
def run_test(self):
371368
"""Tests must override this method to define test logic"""
@@ -925,6 +922,7 @@ def setup_network(self):
925922
self.log.info("Creating and starting controller node")
926923
self.add_nodes(1, extra_args=[self.extra_args[0]])
927924
self.start_node(0)
925+
self.import_deterministic_coinbase_privkeys()
928926
required_balance = MASTERNODE_COLLATERAL * self.mn_count + 1
929927
self.log.info("Generating %d coins" % required_balance)
930928
while self.nodes[0].getbalance() < required_balance:
@@ -945,6 +943,7 @@ def setup_network(self):
945943
self.prepare_masternodes()
946944
self.prepare_datadirs()
947945
self.start_masternodes()
946+
self.import_deterministic_coinbase_privkeys()
948947

949948
# non-masternodes where disconnected from the control node during prepare_datadirs,
950949
# let's reconnect them back to make sure they receive updates

0 commit comments

Comments
 (0)