diff --git a/client/src/ledger_app_clients/ethereum/eip712/InputData.py b/client/src/ledger_app_clients/ethereum/eip712/InputData.py index 8c64b79..49c99cb 100644 --- a/client/src/ledger_app_clients/ethereum/eip712/InputData.py +++ b/client/src/ledger_app_clients/ethereum/eip712/InputData.py @@ -23,6 +23,7 @@ def default_handler(): autonext_handler: Callable = default_handler +is_golden_run: bool # From a string typename, extract the type and all the array depth @@ -394,6 +395,12 @@ def enable_autonext(): delay = 1/3 else: delay = 1/4 + + # golden run has to be slower to make sure we take good snapshots + # and not processing/loading screens + if is_golden_run: + delay *= 3 + signal.setitimer(signal.ITIMER_REAL, delay, delay) @@ -404,10 +411,12 @@ def disable_autonext(): def process_data(aclient: EthAppClient, data_json: dict, filters: Optional[dict] = None, - autonext: Optional[Callable] = None) -> bool: + autonext: Optional[Callable] = None, + golden_run: bool = False) -> bool: global sig_ctx global app_client global autonext_handler + global is_golden_run # deepcopy because this function modifies the dict data_json = copy.deepcopy(data_json) @@ -422,6 +431,8 @@ def process_data(aclient: EthAppClient, autonext_handler = autonext signal.signal(signal.SIGALRM, next_timeout) + is_golden_run = golden_run + if filters: init_signature_context(types, domain) diff --git a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00001.png b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00001.png index f199c83..3e2ea57 100644 Binary files a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00001.png and b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00001.png differ diff --git a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00002.png b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00002.png index cab5e3d..06912ee 100644 Binary files a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00002.png and b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00002.png differ diff --git a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00003.png b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00003.png index 9ea496c..cb969d2 100644 Binary files a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00003.png and b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00003.png differ diff --git a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00004.png b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00004.png index 1a9cca4..8b981d4 100644 Binary files a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00004.png and b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00004.png differ diff --git a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00005.png b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00005.png deleted file mode 100644 index a7ee335..0000000 Binary files a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00005.png and /dev/null differ diff --git a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00006.png b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00006.png deleted file mode 100644 index cb969d2..0000000 Binary files a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00006.png and /dev/null differ diff --git a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00007.png b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00007.png deleted file mode 100644 index 8b981d4..0000000 Binary files a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering/00007.png and /dev/null differ diff --git a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering_permit/00001.png b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering_permit/00001.png index b937498..0acea73 100644 Binary files a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering_permit/00001.png and b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering_permit/00001.png differ diff --git a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering_permit/00002.png b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering_permit/00002.png index 263921d..cb969d2 100644 Binary files a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering_permit/00002.png and b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering_permit/00002.png differ diff --git a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering_permit/00003.png b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering_permit/00003.png index 503764e..8b981d4 100644 Binary files a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering_permit/00003.png and b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering_permit/00003.png differ diff --git a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering_permit/00004.png b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering_permit/00004.png deleted file mode 100644 index cb969d2..0000000 Binary files a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering_permit/00004.png and /dev/null differ diff --git a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering_permit/00005.png b/tests/ragger/snapshots/flex/test_eip712_advanced_filtering_permit/00005.png deleted file mode 100644 index 8b981d4..0000000 Binary files a/tests/ragger/snapshots/flex/test_eip712_advanced_filtering_permit/00005.png and /dev/null differ diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_0/00002.png b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_0/00002.png index 9f0b89f..8861c92 100644 Binary files a/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_0/00002.png and b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_0/00002.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_1/00002.png b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_1/00002.png index 869b785..2a6919b 100644 Binary files a/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_1/00002.png and b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_1/00002.png differ diff --git a/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_2/00002.png b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_2/00002.png index 869b785..2a6919b 100644 Binary files a/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_2/00002.png and b/tests/ragger/snapshots/flex/test_sign_parameter_selector/step_2/00002.png differ diff --git a/tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00013.png b/tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00013.png deleted file mode 100644 index 1c2d6cd..0000000 Binary files a/tests/ragger/snapshots/stax/test_eip712_address_substitution_verbose/00013.png and /dev/null differ diff --git a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00001.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00001.png index 09e7b60..4877fb0 100644 Binary files a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00001.png and b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00001.png differ diff --git a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00002.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00002.png index c6131c1..33f0806 100644 Binary files a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00002.png and b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00002.png differ diff --git a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00003.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00003.png index 2607184..9c2fa5d 100644 Binary files a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00003.png and b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00003.png differ diff --git a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00004.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00004.png index 0a05535..54aba60 100644 Binary files a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00004.png and b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00004.png differ diff --git a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00005.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00005.png deleted file mode 100644 index 6797fdd..0000000 Binary files a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00005.png and /dev/null differ diff --git a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00006.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00006.png deleted file mode 100644 index 9c2fa5d..0000000 Binary files a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00006.png and /dev/null differ diff --git a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00007.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00007.png deleted file mode 100644 index 54aba60..0000000 Binary files a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering/00007.png and /dev/null differ diff --git a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_permit/00001.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_permit/00001.png index 96b35ad..88c9c50 100644 Binary files a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_permit/00001.png and b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_permit/00001.png differ diff --git a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_permit/00002.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_permit/00002.png index 6bf9149..9c2fa5d 100644 Binary files a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_permit/00002.png and b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_permit/00002.png differ diff --git a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_permit/00003.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_permit/00003.png index 187512a..54aba60 100644 Binary files a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_permit/00003.png and b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_permit/00003.png differ diff --git a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_permit/00004.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_permit/00004.png deleted file mode 100644 index 9c2fa5d..0000000 Binary files a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_permit/00004.png and /dev/null differ diff --git a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_permit/00005.png b/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_permit/00005.png deleted file mode 100644 index 54aba60..0000000 Binary files a/tests/ragger/snapshots/stax/test_eip712_advanced_filtering_permit/00005.png and /dev/null differ diff --git a/tests/ragger/test_eip712.py b/tests/ragger/test_eip712.py index 91502f7..ce7b798 100644 --- a/tests/ragger/test_eip712.py +++ b/tests/ragger/test_eip712.py @@ -112,11 +112,13 @@ def eip712_new_common(firmware: Firmware, app_client: EthAppClient, json_data: dict, filters: Optional[dict], - verbose: bool): + verbose: bool, + golden_run: bool): assert InputData.process_data(app_client, json_data, filters, - partial(autonext, firmware, navigator, default_screenshot_path)) + partial(autonext, firmware, navigator, default_screenshot_path), + golden_run) with app_client.eip712_sign_new(BIP32_PATH): moves = [] if firmware.device.startswith("nano"): @@ -126,15 +128,13 @@ def eip712_new_common(firmware: Firmware, moves += [NavInsID.BOTH_CLICK] else: # need to skip the message hash - if not verbose and filters is None: - moves += [NavInsID.USE_CASE_REVIEW_TAP] + moves += [NavInsID.USE_CASE_REVIEW_TAP] moves += [NavInsID.USE_CASE_REVIEW_CONFIRM] if SNAPS_CONFIG is not None: navigator.navigate_and_compare(default_screenshot_path, SNAPS_CONFIG.test_name, moves, snap_start_idx=SNAPS_CONFIG.idx) - SNAPS_CONFIG.idx += 1 else: navigator.navigate(moves) return ResponseParser.signature(app_client.response().data) @@ -173,7 +173,8 @@ def test_eip712_new(firmware: Firmware, app_client, data, filters, - verbose) + verbose, + False) recovered_addr = recover_message(data, vrs) @@ -340,7 +341,8 @@ def test_eip712_advanced_filtering(firmware: Firmware, navigator: Navigator, default_screenshot_path: Path, test_name: str, - data_set: DataSet): + data_set: DataSet, + golden_run: bool): global SNAPS_CONFIG app_client = EthAppClient(backend) @@ -355,7 +357,8 @@ def test_eip712_advanced_filtering(firmware: Firmware, app_client, data_set.data, data_set.filters, - False) + False, + golden_run) # verify signature addr = recover_message(data_set.data, vrs)