aboutsummaryrefslogtreecommitdiff
path: root/test/functional/wallet_balance.py
diff options
context:
space:
mode:
authorSteven Roose <steven@stevenroose.org>2019-05-23 15:40:16 +0100
committerSteven Roose <steven@stevenroose.org>2019-05-23 16:18:23 +0100
commitbb41e632ca94bea9b9a39592803f8faafbaa25f2 (patch)
treef96c6366d65ca60c17f24ece94a42a44b04fc669 /test/functional/wallet_balance.py
parent12fd4bbd1ed928e3ce2f6ce2118bbaec07898bac (diff)
downloadbitcoin-bb41e632ca94bea9b9a39592803f8faafbaa25f2.tar.xz
wallet_balance.py: Prevent edge cases
Diffstat (limited to 'test/functional/wallet_balance.py')
-rwxr-xr-xtest/functional/wallet_balance.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/test/functional/wallet_balance.py b/test/functional/wallet_balance.py
index 4d1f1ccdc1..15f2195e21 100755
--- a/test/functional/wallet_balance.py
+++ b/test/functional/wallet_balance.py
@@ -28,12 +28,17 @@ def create_transactions(node, address, amt, fees):
for utxo in utxos:
inputs.append({"txid": utxo["txid"], "vout": utxo["vout"]})
ins_total += utxo['amount']
- if ins_total + max(fees) > amt:
+ if ins_total >= amt + max(fees):
break
+ # make sure there was enough utxos
+ assert ins_total >= amt + max(fees)
txs = []
for fee in fees:
- outputs = {address: amt, node.getrawchangeaddress(): ins_total - amt - fee}
+ outputs = {address: amt}
+ # prevent 0 change output
+ if ins_total > amt + fee:
+ outputs[node.getrawchangeaddress()] = ins_total - amt - fee
raw_tx = node.createrawtransaction(inputs, outputs, 0, True)
raw_tx = node.signrawtransactionwithwallet(raw_tx)
assert_equal(raw_tx['complete'], True)