aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfurszy <matiasfurszyfer@protonmail.com>2023-03-23 16:37:06 -0300
committerfurszy <matiasfurszyfer@protonmail.com>2023-03-23 17:06:54 -0300
commit8aab5157c55249c9023ae4e9654f5d42aaa4f314 (patch)
treebda90cfa06fefd19b21381cfd1624e9f5e033229
parent23056436461a8b3af1a504b9638c48e8c8170652 (diff)
test: wallet_create_tx.py fix race
Because wallets are internally synchronized through the validation interface, and the interface dispatches events on a worker thread, it is possible for a transaction created by the first wallet to not arrive at the second wallet before the second wallet attempts to use one of its outputs. This is because we do not wait for the BroadcastTransaction callback during the wallet's "submit to mempool" process. To address this in the tests, we need to sync the validation queue.
-rwxr-xr-xtest/functional/wallet_create_tx.py1
1 files changed, 1 insertions, 0 deletions
diff --git a/test/functional/wallet_create_tx.py b/test/functional/wallet_create_tx.py
index 11c82e15b7..4e31b48ec0 100755
--- a/test/functional/wallet_create_tx.py
+++ b/test/functional/wallet_create_tx.py
@@ -92,6 +92,7 @@ class CreateTxWalletTest(BitcoinTestFramework):
txid = tx_data['txid']
vout = 1
+ self.nodes[0].syncwithvalidationinterfacequeue()
options = {"change_position": 0, "add_inputs": False}
for i in range(1, 25):
options['inputs'] = [{'txid': txid, 'vout': vout}]