@@ -226,30 +226,41 @@ def run_test(self):
226
226
if self .major_version_less_than (node , 22 ) and wallet_name == "w1" and self .options .descriptors :
227
227
# Descriptor wallets created after 0.21 have taproot descriptors which 0.21 does not support, tested below
228
228
continue
229
- node .loadwallet (wallet_name )
230
- wallet = node .get_wallet_rpc (wallet_name )
231
- info = wallet .getwalletinfo ()
232
- if wallet_name == "w1" :
233
- assert info ['private_keys_enabled' ] == True
234
- assert info ['keypoolsize' ] > 0
235
- txs = wallet .listtransactions ()
236
- assert_equal (len (txs ), 5 )
237
- assert_equal (txs [1 ]["txid" ], tx1_id )
238
- assert_equal (txs [2 ]["walletconflicts" ], [tx1_id ])
239
- assert_equal (txs [1 ]["replaced_by_txid" ], tx2_id )
240
- assert not txs [1 ]["abandoned" ]
241
- assert_equal (txs [1 ]["confirmations" ], - 1 )
242
- assert_equal (txs [2 ]["blockindex" ], 1 )
243
- assert txs [3 ]["abandoned" ]
244
- assert_equal (txs [4 ]["walletconflicts" ], [tx3_id ])
245
- assert_equal (txs [3 ]["replaced_by_txid" ], tx4_id )
246
- assert not hasattr (txs [3 ], "blockindex" )
247
- elif wallet_name == "w2" :
248
- assert info ['private_keys_enabled' ] == False
249
- assert info ['keypoolsize' ] == 0
250
- else :
251
- assert info ['private_keys_enabled' ] == True
252
- assert info ['keypoolsize' ] == 0
229
+ # Also try to reopen on master after opening on old
230
+ for n in [node , node_master ]:
231
+ n .loadwallet (wallet_name )
232
+ wallet = n .get_wallet_rpc (wallet_name )
233
+ info = wallet .getwalletinfo ()
234
+ if wallet_name == "w1" :
235
+ assert info ['private_keys_enabled' ] == True
236
+ assert info ['keypoolsize' ] > 0
237
+ txs = wallet .listtransactions ()
238
+ assert_equal (len (txs ), 5 )
239
+ assert_equal (txs [1 ]["txid" ], tx1_id )
240
+ assert_equal (txs [2 ]["walletconflicts" ], [tx1_id ])
241
+ assert_equal (txs [1 ]["replaced_by_txid" ], tx2_id )
242
+ assert not txs [1 ]["abandoned" ]
243
+ assert_equal (txs [1 ]["confirmations" ], - 1 )
244
+ assert_equal (txs [2 ]["blockindex" ], 1 )
245
+ assert txs [3 ]["abandoned" ]
246
+ assert_equal (txs [4 ]["walletconflicts" ], [tx3_id ])
247
+ assert_equal (txs [3 ]["replaced_by_txid" ], tx4_id )
248
+ assert not hasattr (txs [3 ], "blockindex" )
249
+ elif wallet_name == "w2" :
250
+ assert info ['private_keys_enabled' ] == False
251
+ assert info ['keypoolsize' ] == 0
252
+ else :
253
+ assert info ['private_keys_enabled' ] == True
254
+ assert info ['keypoolsize' ] == 0
255
+
256
+ # Copy back to master
257
+ wallet .unloadwallet ()
258
+ if n == node :
259
+ shutil .rmtree (node_master .wallets_path / wallet_name )
260
+ shutil .copytree (
261
+ n .wallets_path / wallet_name ,
262
+ node_master .wallets_path / wallet_name ,
263
+ )
253
264
254
265
# Check that descriptor wallets don't work on legacy only nodes
255
266
if self .options .descriptors :
0 commit comments