mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-02 09:46:52 -05:00
Merge bitcoin/bitcoin#28325: test: wallet_backup.py, fix intermittent failure in "restore using dumped wallet"
c4929cfa50
test: wallet_backup.py, fix intermittent failure in "restore using dumped wallet" (furszy) Pull request description: Aiming to fix #25652. The failure arises because the test expects `init_wallet()` (the test framework function) to create a wallet with no keys. However, the function also imports the deterministic private key used to receive the coinbase coins. This causes a race within the "restore using dumped wallet" case, where we intend to have a new wallet (with no existing keys) to test the 'importwallet()' RPC result. The reason why this failure is intermittent is that it depends on other peers delivering the chain right after node2 startup and prior to the test 'node2.getbalance()' call and also the synchronization of the validation queue. ACKs for top commit: MarcoFalke: lgtm ACKc4929cfa50
Tree-SHA512: 80faa590439305576086a7d6e328f2550c97b218771fc5eba0567feff78732a2605d028a30a368d50944ae3d25fdbd6d321fb97321791a356416f2b790999613
This commit is contained in:
commit
e8989f295d
1 changed files with 4 additions and 6 deletions
|
@ -140,11 +140,6 @@ class WalletBackupTest(BitcoinTestFramework):
|
|||
assert_raises_rpc_error(-36, error_message, node.restorewallet, wallet_name, backup_file)
|
||||
assert os.path.exists(wallet_file)
|
||||
|
||||
def init_three(self):
|
||||
self.init_wallet(node=0)
|
||||
self.init_wallet(node=1)
|
||||
self.init_wallet(node=2)
|
||||
|
||||
def run_test(self):
|
||||
self.log.info("Generating initial blockchain")
|
||||
self.generate(self.nodes[0], 1)
|
||||
|
@ -230,7 +225,10 @@ class WalletBackupTest(BitcoinTestFramework):
|
|||
shutil.rmtree(os.path.join(self.nodes[2].chain_path, 'chainstate'))
|
||||
|
||||
self.start_three(["-nowallet"])
|
||||
self.init_three()
|
||||
# Create new wallets for the three nodes.
|
||||
# We will use this empty wallets to test the 'importwallet()' RPC command below.
|
||||
for node_num in range(3):
|
||||
self.nodes[node_num].createwallet(wallet_name=self.default_wallet_name, descriptors=self.options.descriptors, load_on_startup=True)
|
||||
|
||||
assert_equal(self.nodes[0].getbalance(), 0)
|
||||
assert_equal(self.nodes[1].getbalance(), 0)
|
||||
|
|
Loading…
Add table
Reference in a new issue