Skip to content

Commit 20b6e95

Browse files
committed
test: refactor functional tests to use restart_node
1 parent 8ef15e8 commit 20b6e95

13 files changed

+25
-48
lines changed

test/functional/feature_backwards_compatibility.py

+2-4
Original file line numberDiff line numberDiff line change
@@ -311,15 +311,13 @@ def run_test(self):
311311
self.start_node(4)
312312

313313
# Open most recent wallet in v0.16 (no loadwallet RPC)
314-
self.stop_node(5)
315-
self.start_node(5, extra_args=["-wallet=w2"])
314+
self.restart_node(5, extra_args=["-wallet=w2"])
316315
wallet = node_v16.get_wallet_rpc("w2")
317316
info = wallet.getwalletinfo()
318317
assert info['keypoolsize'] == 1
319318

320319
# Create upgrade wallet in v0.16
321-
self.stop_node(-1)
322-
self.start_node(-1, extra_args=["-wallet=u1_v16"])
320+
self.restart_node(-1, extra_args=["-wallet=u1_v16"])
323321
wallet = node_v16.get_wallet_rpc("u1_v16")
324322
v16_addr = wallet.getnewaddress('', "bech32")
325323
v16_info = wallet.validateaddress(v16_addr)

test/functional/feature_loadblock.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,7 @@ def run_test(self):
7171
check=True)
7272

7373
self.log.info("Restart second, unsynced node with bootstrap file")
74-
self.stop_node(1)
75-
self.start_node(1, ["-loadblock=" + bootstrap_file])
74+
self.restart_node(1, extra_args=["-loadblock=" + bootstrap_file])
7675
assert_equal(self.nodes[1].getblockcount(), 100) # start_node is blocking on all block files being imported
7776

7877
assert_equal(self.nodes[1].getblockchaininfo()['blocks'], 100)

test/functional/feature_logging.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,7 @@ def run_test(self):
6767
assert not os.path.isfile(default_log_path)
6868

6969
# just sanity check no crash here
70-
self.stop_node(0)
71-
self.start_node(0, ["-debuglogfile=%s" % os.devnull])
70+
self.restart_node(0, ["-debuglogfile=%s" % os.devnull])
7271

7372

7473
if __name__ == '__main__':

test/functional/feature_pruning.py

+4-8
Original file line numberDiff line numberDiff line change
@@ -263,8 +263,7 @@ def manual_test(self, node_number, use_timestamp):
263263
assert_raises_rpc_error(-1, "not in prune mode", node.pruneblockchain, 500)
264264

265265
# now re-start in manual pruning mode
266-
self.stop_node(node_number)
267-
self.start_node(node_number, extra_args=["-prune=1"])
266+
self.restart_node(node_number, extra_args=["-prune=1"])
268267
node = self.nodes[node_number]
269268
assert_equal(node.getblockcount(), 995)
270269

@@ -326,16 +325,14 @@ def has_block(index):
326325
assert not has_block(3), "blk00003.dat is still there, should be pruned by now"
327326

328327
# stop node, start back up with auto-prune at 550 MiB, make sure still runs
329-
self.stop_node(node_number)
330-
self.start_node(node_number, extra_args=["-prune=550"])
328+
self.restart_node(node_number, extra_args=["-prune=550"])
331329

332330
self.log.info("Success")
333331

334332
def wallet_test(self):
335333
# check that the pruning node's wallet is still in good shape
336334
self.log.info("Stop and start pruning node to trigger wallet rescan")
337-
self.stop_node(2)
338-
self.start_node(2, extra_args=["-prune=550"])
335+
self.restart_node(2, extra_args=["-prune=550"])
339336
self.log.info("Success")
340337

341338
# check that wallet loads successfully when restarting a pruned node after IBD.
@@ -344,8 +341,7 @@ def wallet_test(self):
344341
connect_nodes(self.nodes[0], 5)
345342
nds = [self.nodes[0], self.nodes[5]]
346343
self.sync_blocks(nds, wait=5, timeout=300)
347-
self.stop_node(5) # stop and start to trigger rescan
348-
self.start_node(5, extra_args=["-prune=550"])
344+
self.restart_node(5, extra_args=["-prune=550"]) # restart to trigger rescan
349345
self.log.info("Success")
350346

351347
def run_test(self):

test/functional/feature_segwit.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -559,8 +559,7 @@ def run_test(self):
559559
assert_equal(self.nodes[1].listtransactions("*", 1, 0, True)[0]["txid"], txid)
560560

561561
# Assert it is properly saved
562-
self.stop_node(1)
563-
self.start_node(1)
562+
self.restart_node(1)
564563
assert_equal(self.nodes[1].gettransaction(txid, True)["txid"], txid)
565564
assert_equal(self.nodes[1].listtransactions("*", 1, 0, True)[0]["txid"], txid)
566565

test/functional/p2p_disconnect_ban.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,7 @@ def run_test(self):
6969
self.nodes[1].setmocktime(old_time + 3)
7070
assert_equal(len(self.nodes[1].listbanned()), 3)
7171

72-
self.stop_node(1)
73-
self.start_node(1)
72+
self.restart_node(1)
7473

7574
listAfterShutdown = self.nodes[1].listbanned()
7675
assert_equal("127.0.0.0/24", listAfterShutdown[0]['address'])

test/functional/p2p_segwit.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -1898,8 +1898,7 @@ def test_non_standard_witness(self):
18981898
def test_upgrade_after_activation(self):
18991899
"""Test the behavior of starting up a segwit-aware node after the softfork has activated."""
19001900

1901-
self.stop_node(2)
1902-
self.start_node(2, extra_args=["-segwitheight={}".format(SEGWIT_HEIGHT)])
1901+
self.restart_node(2, extra_args=["-segwitheight={}".format(SEGWIT_HEIGHT)])
19031902
connect_nodes(self.nodes[0], 2)
19041903

19051904
# We reconnect more than 100 blocks, give it plenty of time

test/functional/wallet_abandonconflict.py

+3-6
Original file line numberDiff line numberDiff line change
@@ -95,8 +95,7 @@ def run_test(self):
9595

9696
# Restart the node with a higher min relay fee so the parent tx is no longer in mempool
9797
# TODO: redo with eviction
98-
self.stop_node(0)
99-
self.start_node(0, extra_args=["-minrelaytxfee=0.0001"])
98+
self.restart_node(0, extra_args=["-minrelaytxfee=0.0001"])
10099
assert self.nodes[0].getmempoolinfo()['loaded']
101100

102101
# Verify txs no longer in either node's mempool
@@ -123,8 +122,7 @@ def run_test(self):
123122
balance = newbalance
124123

125124
# Verify that even with a low min relay fee, the tx is not reaccepted from wallet on startup once abandoned
126-
self.stop_node(0)
127-
self.start_node(0, extra_args=["-minrelaytxfee=0.00001"])
125+
self.restart_node(0, extra_args=["-minrelaytxfee=0.00001"])
128126
assert self.nodes[0].getmempoolinfo()['loaded']
129127

130128
assert_equal(len(self.nodes[0].getrawmempool()), 0)
@@ -145,8 +143,7 @@ def run_test(self):
145143
balance = newbalance
146144

147145
# Remove using high relay fee again
148-
self.stop_node(0)
149-
self.start_node(0, extra_args=["-minrelaytxfee=0.0001"])
146+
self.restart_node(0, extra_args=["-minrelaytxfee=0.0001"])
150147
assert self.nodes[0].getmempoolinfo()['loaded']
151148
assert_equal(len(self.nodes[0].getrawmempool()), 0)
152149
newbalance = self.nodes[0].getbalance()

test/functional/wallet_avoidreuse.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -110,9 +110,7 @@ def test_persistence(self):
110110
assert_equal(self.nodes[0].getwalletinfo()["avoid_reuse"], False)
111111
assert_equal(self.nodes[1].getwalletinfo()["avoid_reuse"], True)
112112

113-
# Stop and restart node 1
114-
self.stop_node(1)
115-
self.start_node(1)
113+
self.restart_node(1)
116114
connect_nodes(self.nodes[0], 1)
117115

118116
# Flags should still be node1.avoid_reuse=false, node2.avoid_reuse=true

test/functional/wallet_dump.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,7 @@ def run_test(self):
190190
assert_raises_rpc_error(-8, "already exists", lambda: self.nodes[0].dumpwallet(wallet_enc_dump))
191191

192192
# Restart node with new wallet, and test importwallet
193-
self.stop_node(0)
194-
self.start_node(0, ['-wallet=w2'])
193+
self.restart_node(0, ['-wallet=w2'])
195194

196195
# Make sure the address is not IsMine before import
197196
result = self.nodes[0].getaddressinfo(multisig_addr)

test/functional/wallet_hd.py

+2-4
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,7 @@ def run_test(self):
103103
self.sync_all()
104104

105105
# Needs rescan
106-
self.stop_node(1)
107-
self.start_node(1, extra_args=self.extra_args[1] + ['-rescan'])
106+
self.restart_node(1, extra_args=self.extra_args[1] + ['-rescan'])
108107
assert_equal(self.nodes[1].getbalance(), NUM_HD_ADDS + 1)
109108

110109
# Try a RPC based rescan
@@ -183,8 +182,7 @@ def run_test(self):
183182
self.nodes[0].generate(10)
184183
# Restart node 1 with keypool of 3 and a different wallet
185184
self.nodes[1].createwallet(wallet_name='origin', blank=True)
186-
self.stop_node(1)
187-
self.start_node(1, extra_args=['-keypool=3', '-wallet=origin'])
185+
self.restart_node(1, extra_args=['-keypool=3', '-wallet=origin'])
188186
connect_nodes(self.nodes[0], 1)
189187

190188
# sethdseed restoring and seeing txs to addresses out of the keypool

test/functional/wallet_reorgsrestore.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,7 @@ def run_test(self):
7777
assert_equal(conflicted["walletconflicts"][0], conflicting["txid"])
7878

7979
# Node0 wallet is shutdown
80-
self.stop_node(0)
81-
self.start_node(0)
80+
self.restart_node(0)
8281

8382
# The block chain re-orgs and the tx is included in a different block
8483
self.nodes[1].generate(9)

test/functional/wallet_zapwallettxes.py

+6-9
Original file line numberDiff line numberDiff line change
@@ -49,28 +49,25 @@ def run_test(self):
4949
assert_equal(self.nodes[0].gettransaction(txid1)['txid'], txid1)
5050
assert_equal(self.nodes[0].gettransaction(txid2)['txid'], txid2)
5151

52-
# Stop-start node0. Both confirmed and unconfirmed transactions remain in the wallet.
53-
self.stop_node(0)
54-
self.start_node(0)
52+
# Restart node0. Both confirmed and unconfirmed transactions remain in the wallet.
53+
self.restart_node(0)
5554

5655
assert_equal(self.nodes[0].gettransaction(txid1)['txid'], txid1)
5756
assert_equal(self.nodes[0].gettransaction(txid2)['txid'], txid2)
5857

59-
# Stop node0 and restart with zapwallettxes and persistmempool. The unconfirmed
58+
# Restart node0 with zapwallettxes and persistmempool. The unconfirmed
6059
# transaction is zapped from the wallet, but is re-added when the mempool is reloaded.
61-
self.stop_node(0)
62-
self.start_node(0, ["-persistmempool=1", "-zapwallettxes=2"])
60+
self.restart_node(0, ["-persistmempool=1", "-zapwallettxes=2"])
6361

6462
wait_until(lambda: self.nodes[0].getmempoolinfo()['size'] == 1, timeout=3)
6563
self.nodes[0].syncwithvalidationinterfacequeue() # Flush mempool to wallet
6664

6765
assert_equal(self.nodes[0].gettransaction(txid1)['txid'], txid1)
6866
assert_equal(self.nodes[0].gettransaction(txid2)['txid'], txid2)
6967

70-
# Stop node0 and restart with zapwallettxes, but not persistmempool.
68+
# Restart node0 with zapwallettxes, but not persistmempool.
7169
# The unconfirmed transaction is zapped and is no longer in the wallet.
72-
self.stop_node(0)
73-
self.start_node(0, ["-zapwallettxes=2"])
70+
self.restart_node(0, ["-zapwallettxes=2"])
7471

7572
# tx1 is still be available because it was confirmed
7673
assert_equal(self.nodes[0].gettransaction(txid1)['txid'], txid1)

0 commit comments

Comments
 (0)