From e7ad86e1ca3b0b2f2795e91c2f9959486c67dd90 Mon Sep 17 00:00:00 2001 From: Martin Zumsande Date: Tue, 13 May 2025 11:40:42 -0400 Subject: [PATCH] test: fix another intermittent failure in wallet_basic.py During init, the test framework will start using rpc after the mempool was loaded. It will not wait for postInitProcess or outstanding transactionAddedToMempool notifications, leading to a possible race, in which listunspent is being called while the tx is still in Inactive status. Prevent this by processing outstanding notifications. --- test/functional/wallet_basic.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/functional/wallet_basic.py b/test/functional/wallet_basic.py index fe1f38ea975..4c2e90e08ef 100755 --- a/test/functional/wallet_basic.py +++ b/test/functional/wallet_basic.py @@ -656,6 +656,9 @@ class WalletTest(BitcoinTestFramework): # check that it works again with -spendzeroconfchange set (=default) self.restart_node(0, ["-spendzeroconfchange=1"]) + # Make sure the wallet knows the tx in the mempool + self.nodes[0].syncwithvalidationinterfacequeue() + zeroconf_wallet = self.nodes[0].get_wallet_rpc("zeroconf") utxos = zeroconf_wallet.listunspent(minconf=0) assert_equal(len(utxos), 1)