mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-10 03:47:29 -03:00
test: add coverage for cross-chain wallet restore
This commit is contained in:
parent
8c7222bda3
commit
21ad4e26ec
1 changed files with 9 additions and 1 deletions
|
@ -36,20 +36,28 @@ class WalletCrossChain(BitcoinTestFramework):
|
||||||
self.log.info("Creating wallets")
|
self.log.info("Creating wallets")
|
||||||
|
|
||||||
node0_wallet = os.path.join(self.nodes[0].datadir, 'node0_wallet')
|
node0_wallet = os.path.join(self.nodes[0].datadir, 'node0_wallet')
|
||||||
|
node0_wallet_backup = os.path.join(self.nodes[0].datadir, 'node0_wallet.bak')
|
||||||
self.nodes[0].createwallet(node0_wallet)
|
self.nodes[0].createwallet(node0_wallet)
|
||||||
|
self.nodes[0].backupwallet(node0_wallet_backup)
|
||||||
self.nodes[0].unloadwallet(node0_wallet)
|
self.nodes[0].unloadwallet(node0_wallet)
|
||||||
node1_wallet = os.path.join(self.nodes[1].datadir, 'node1_wallet')
|
node1_wallet = os.path.join(self.nodes[1].datadir, 'node1_wallet')
|
||||||
|
node1_wallet_backup = os.path.join(self.nodes[0].datadir, 'node1_wallet.bak')
|
||||||
self.nodes[1].createwallet(node1_wallet)
|
self.nodes[1].createwallet(node1_wallet)
|
||||||
|
self.nodes[1].backupwallet(node1_wallet_backup)
|
||||||
self.nodes[1].unloadwallet(node1_wallet)
|
self.nodes[1].unloadwallet(node1_wallet)
|
||||||
|
|
||||||
self.log.info("Loading wallets into nodes with a different genesis blocks")
|
self.log.info("Loading/restoring wallets into nodes with a different genesis block")
|
||||||
|
|
||||||
if self.options.descriptors:
|
if self.options.descriptors:
|
||||||
assert_raises_rpc_error(-18, 'Wallet file verification failed.', self.nodes[0].loadwallet, node1_wallet)
|
assert_raises_rpc_error(-18, 'Wallet file verification failed.', self.nodes[0].loadwallet, node1_wallet)
|
||||||
assert_raises_rpc_error(-18, 'Wallet file verification failed.', self.nodes[1].loadwallet, node0_wallet)
|
assert_raises_rpc_error(-18, 'Wallet file verification failed.', self.nodes[1].loadwallet, node0_wallet)
|
||||||
|
assert_raises_rpc_error(-18, 'Wallet file verification failed.', self.nodes[0].restorewallet, 'w', node1_wallet_backup)
|
||||||
|
assert_raises_rpc_error(-18, 'Wallet file verification failed.', self.nodes[1].restorewallet, 'w', node0_wallet_backup)
|
||||||
else:
|
else:
|
||||||
assert_raises_rpc_error(-4, 'Wallet files should not be reused across chains.', self.nodes[0].loadwallet, node1_wallet)
|
assert_raises_rpc_error(-4, 'Wallet files should not be reused across chains.', self.nodes[0].loadwallet, node1_wallet)
|
||||||
assert_raises_rpc_error(-4, 'Wallet files should not be reused across chains.', self.nodes[1].loadwallet, node0_wallet)
|
assert_raises_rpc_error(-4, 'Wallet files should not be reused across chains.', self.nodes[1].loadwallet, node0_wallet)
|
||||||
|
assert_raises_rpc_error(-4, 'Wallet files should not be reused across chains.', self.nodes[0].restorewallet, 'w', node1_wallet_backup)
|
||||||
|
assert_raises_rpc_error(-4, 'Wallet files should not be reused across chains.', self.nodes[1].restorewallet, 'w', node0_wallet_backup)
|
||||||
|
|
||||||
if not self.options.descriptors:
|
if not self.options.descriptors:
|
||||||
self.log.info("Override cross-chain wallet load protection")
|
self.log.info("Override cross-chain wallet load protection")
|
||||||
|
|
Loading…
Reference in a new issue