From 61dd95ef0b8d119a05921f7c8c1f748ebe134648 Mon Sep 17 00:00:00 2001 From: sasha Date: Wed, 6 Jul 2022 22:58:03 -0700 Subject: [PATCH 1/3] Patch smoke_tests.py to properly handle changes in minconf behavior --- qa/zcash/smoke_tests.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/qa/zcash/smoke_tests.py b/qa/zcash/smoke_tests.py index 755ddc6d1..8b97b599c 100755 --- a/qa/zcash/smoke_tests.py +++ b/qa/zcash/smoke_tests.py @@ -138,7 +138,7 @@ def run_cmd(results, case, zcash, name, args=[]): results[case] = False return None -def wait_for_balance(zcash, zaddr, expected=None): +def wait_for_balance(zcash, zaddr, expected=None, minconf=1): print('Waiting for funds to %s...' % zaddr) unconfirmed_balance = Decimal(zcash.z_getbalance(zaddr, 0)).quantize(Decimal('1.00000000')) print('Expecting: %s; Unconfirmed Balance: %s' % (expected, unconfirmed_balance)) @@ -148,7 +148,7 @@ def wait_for_balance(zcash, zaddr, expected=None): # Default timeout is 15 minutes ttl = 900 while True: - balance = Decimal(zcash.z_getbalance(zaddr)).quantize(Decimal('1.00000000')) + balance = Decimal(zcash.z_getbalance(zaddr, minconf)).quantize(Decimal('1.00000000')) if (expected is not None and balance == unconfirmed_balance) or (expected is None and balance > 0): print('Received %s' % balance) return balance @@ -221,7 +221,8 @@ def z_sendmany(results, case, zcash, from_addr, recipients): [{ 'address': to_addr, 'amount': amount, - } for (to_addr, amount) in recipients] + } for (to_addr, amount) in recipients], + 1 # minconf ]) def check_z_sendmany(results, case, zcash, from_addr, recipients): @@ -240,6 +241,10 @@ def check_z_sendmany_parallel(results, zcash, runs): for (to_addr, amount) in run[2]] def z_mergetoaddress(results, case, zcash, from_addrs, to_addr): + for addr in from_addrs: + balance = Decimal(zcash.z_getbalance(addr, 0)).quantize(Decimal('1.00000000')) + if balance > 0: + wait_for_balance(zcash, addr, balance, minconf=3) return async_txid_cmd(results, case, zcash, 'z_mergetoaddress', [from_addrs, to_addr]) def check_z_mergetoaddress(results, case, zcash, from_addrs, to_addr, amount): From 823c1b44c50ec4e97ca4c56cc5594478f5782d86 Mon Sep 17 00:00:00 2001 From: sasha Date: Wed, 6 Jul 2022 23:23:44 -0700 Subject: [PATCH 2/3] Improve smoke_test.py wait_for_balance message in the minconf!=1 case --- qa/zcash/smoke_tests.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/qa/zcash/smoke_tests.py b/qa/zcash/smoke_tests.py index 8b97b599c..2ba3615a5 100755 --- a/qa/zcash/smoke_tests.py +++ b/qa/zcash/smoke_tests.py @@ -139,7 +139,10 @@ def run_cmd(results, case, zcash, name, args=[]): return None def wait_for_balance(zcash, zaddr, expected=None, minconf=1): - print('Waiting for funds to %s...' % zaddr) + if (minconf == 1): + print('Waiting for funds to %s...' % zaddr) + else: + print('Waiting for funds to %s to receive %d confirmations...' % (zaddr, minconf)) unconfirmed_balance = Decimal(zcash.z_getbalance(zaddr, 0)).quantize(Decimal('1.00000000')) print('Expecting: %s; Unconfirmed Balance: %s' % (expected, unconfirmed_balance)) if expected is not None and unconfirmed_balance != expected: From b72aaab820ad009111585965e23c7348f1dd23bd Mon Sep 17 00:00:00 2001 From: sasha Date: Thu, 7 Jul 2022 07:23:11 +0000 Subject: [PATCH 3/3] Patch smoke_tests.py to require 4 confirmations for z_mergetoaddress --- qa/zcash/smoke_tests.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qa/zcash/smoke_tests.py b/qa/zcash/smoke_tests.py index 2ba3615a5..b5c895417 100755 --- a/qa/zcash/smoke_tests.py +++ b/qa/zcash/smoke_tests.py @@ -247,7 +247,7 @@ def z_mergetoaddress(results, case, zcash, from_addrs, to_addr): for addr in from_addrs: balance = Decimal(zcash.z_getbalance(addr, 0)).quantize(Decimal('1.00000000')) if balance > 0: - wait_for_balance(zcash, addr, balance, minconf=3) + wait_for_balance(zcash, addr, balance, minconf=4) return async_txid_cmd(results, case, zcash, 'z_mergetoaddress', [from_addrs, to_addr]) def check_z_mergetoaddress(results, case, zcash, from_addrs, to_addr, amount):