Skip to content

Commit 2173da1

Browse files
committed
tests: allow legacy tests to run with either the legacy or AE sign_tx flow
Passing --nolegacyflow runs the non-AE tests using the AE flow, which verifies that the results returned match the legacy flow. The default is to run non-AE tests though the legacy flow.
1 parent 36a3a19 commit 2173da1

File tree

1 file changed

+18
-7
lines changed

1 file changed

+18
-7
lines changed

test_jade.py

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2807,12 +2807,15 @@ def test_sign_tx_case(jadeapi, txn_data):
28072807
expected_output = txn_data.get('expected_output')
28082808
expected_error = txn_data.get('expected_error')
28092809
assert expected_output or expected_error
2810+
use_ae_signatures = inputdata.get('use_ae_signatures')
2811+
use_legacy_flow = not use_ae_signatures and not args.no_legacy_flow
28102812
try:
28112813
rslt = jadeapi.sign_tx(inputdata['network'],
28122814
inputdata['txn'],
28132815
inputdata['inputs'],
28142816
inputdata['change'],
2815-
inputdata.get('use_ae_signatures'))
2817+
use_ae_signatures,
2818+
use_legacy_flow)
28162819
assert not expected_error, f"Expected an error in {txn_data['filename']}"
28172820
# Check returned signatures
28182821
_check_tx_signatures(jadeapi, txn_data, rslt)
@@ -2821,8 +2824,10 @@ def test_sign_tx_case(jadeapi, txn_data):
28212824
if err.message != expected_error:
28222825
assert False, f"Wrong error '{err.message}' in {txn_data['filename']}"
28232826

2824-
for i in range(txn_data.get('extra_responses', 0)):
2825-
logger.debug(jadeapi.jade.read_response())
2827+
if use_legacy_flow:
2828+
# Only the legacy flow returns extra responses
2829+
for i in range(txn_data.get('extra_responses', 0)):
2830+
logger.debug(jadeapi.jade.read_response())
28262831

28272832

28282833
def test_sign_tx(jadeapi, pattern):
@@ -2832,8 +2837,7 @@ def test_sign_tx(jadeapi, pattern):
28322837
test_sign_tx_case(jadeapi, txn_data)
28332838

28342839
if 'expected_legacy_output' in txn_data and 'expected_error' not in txn_data:
2835-
# Test case has legacy signing results, test them also.
2836-
# TODO: Remove this once legacy signing is removed.
2840+
# Test case has non-Anti-exfil signing results, test them also.
28372841
txn_data['input']['use_ae_signatures'] = False
28382842
for txinput in txn_data['input']['inputs']:
28392843
for k in ['ae_host_commitment', 'ae_host_entropy']:
@@ -3257,12 +3261,14 @@ def test_generic_multisig_matches_ga_signatures(jadeapi):
32573261
change['paths'] = [path[-1:]] * 2
32583262
change['multisig_name'] = ga_2of2_multisig_name
32593263

3264+
use_ae_signatures = inputdata.get('use_ae_signatures')
3265+
use_legacy_flow = not use_ae_signatures and not args.no_legacy_flow
32603266
rslt = jadeapi.sign_tx(inputdata['network'],
32613267
inputdata['txn'],
32623268
inputdata.get('inputs'),
32633269
inputdata['change'],
3264-
inputdata.get('use_ae_signatures'),
3265-
)
3270+
use_ae_signatures,
3271+
use_legacy_flow)
32663272

32673273
# Check returned signatures
32683274
_check_tx_signatures(jadeapi, ga_msig, rslt)
@@ -4125,6 +4131,11 @@ def kill_agent(btagent):
41254131
dest="qemu",
41264132
help="Skip tests which appear problematic on qemu hw emulator",
41274133
default=False)
4134+
parser.add_argument("--nolegacyflow",
4135+
action="store_true",
4136+
dest="no_legacy_flow",
4137+
help="Do not use the legacy sign_tx flow (use the AE flow instead)",
4138+
default=False)
41284139
parser.add_argument("--log",
41294140
action="store",
41304141
dest="loglevel",

0 commit comments

Comments
 (0)