1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-11-20 14:39:22 +00:00

feat(tests): Do not automatically enable experimental features in device tests.

This commit is contained in:
Andrew Kozlik 2022-11-02 10:45:11 +01:00 committed by Andrew Kozlik
parent 07e6e7b8b0
commit 4e79eec188
4 changed files with 84 additions and 93 deletions

View File

@ -151,6 +151,10 @@ def client(
To receive a client instance that was not initialized:
@pytest.mark.setup_client(uninitialized=True)
To enable experimental features:
@pytest.mark.experimental
"""
if request.node.get_closest_marker("skip_t2") and _raw_client.features.model == "T":
pytest.skip("Test excluded on Trezor T")
@ -214,7 +218,7 @@ def client(
no_backup=setup_params["no_backup"],
)
if _raw_client.features.model == "T":
if request.node.get_closest_marker("experimental"):
apply_settings(_raw_client, experimental_features=True)
if use_passphrase and isinstance(setup_params["passphrase"], str):
@ -351,6 +355,9 @@ def pytest_configure(config: "Config") -> None:
# register known markers
config.addinivalue_line("markers", "skip_t1: skip the test on Trezor One")
config.addinivalue_line("markers", "skip_t2: skip the test on Trezor T")
config.addinivalue_line(
"markers", "experimental: enable experimental features on Trezor"
)
config.addinivalue_line(
"markers",
'setup_client(mnemonic="all all all...", pin=None, passphrase=False, uninitialized=False): configure the client instance',

View File

@ -32,7 +32,7 @@ PREV_HASH, PREV_TX = forge_prevtx([(INPUT_ADDRESS, 12_300_000)], network="testne
PREV_TXES = {PREV_HASH: PREV_TX}
pytestmark = pytest.mark.skip_t1
pytestmark = [pytest.mark.skip_t1, pytest.mark.experimental]
def case(id, *args, altcoin=False):

View File

@ -16,7 +16,7 @@
import pytest
from trezorlib import btc, device, exceptions, messages
from trezorlib import btc, device, exceptions, messages, misc
from trezorlib.debuglink import TrezorClientDebugLink as Client
from trezorlib.tools import parse_path
@ -226,16 +226,7 @@ def test_safety_checks(client: Client):
@pytest.mark.skip_t1
def test_experimental_features(client: Client):
def experimental_call():
btc.authorize_coinjoin(
client,
coordinator="www.example.com",
max_rounds=10,
max_coordinator_fee_rate=500_000, # 0.5 %
max_fee_per_kvbyte=3500,
n=parse_path("m/10025h/1h/0h/1h"),
coin_name="Testnet",
script_type=messages.InputScriptType.SPENDTAPROOT,
)
misc.get_nonce(client)
assert client.features.experimental_features is None
@ -244,37 +235,30 @@ def test_experimental_features(client: Client):
_set_expected_responses(client)
device.apply_settings(client, label="new label")
assert not client.features.experimental_features
with pytest.raises(exceptions.TrezorFailure, match="DataError"), client:
client.set_expected_responses([messages.Failure])
experimental_call()
# enable experimental features
with client:
client.set_expected_responses(
[messages.ButtonRequest, messages.Success, messages.Features]
)
device.apply_settings(client, experimental_features=True)
assert client.features.experimental_features
with client:
client.set_expected_responses(
[messages.ButtonRequest, messages.ButtonRequest, messages.Success]
)
client.set_expected_responses([messages.Nonce])
experimental_call()
# relock and try again
client.lock()
with client:
client.use_pin_sequence([PIN4])
client.set_expected_responses(
[
messages.ButtonRequest,
messages.ButtonRequest,
messages.ButtonRequest,
messages.Success,
]
)
experimental_call()
# unset experimental features
with client:
client.set_expected_responses([messages.Success, messages.Features])
device.apply_settings(client, experimental_features=False)
assert not client.features.experimental_features
with pytest.raises(exceptions.TrezorFailure, match="DataError"), client:
client.set_expected_responses([messages.Failure])
client.set_expected_responses([messages.ButtonRequest, messages.Nonce])
experimental_call()

View File

@ -623,7 +623,7 @@
"TT_bitcoin-test_authorize_coinjoin.py::test_get_address": "38ac4356550ad62c44892d6cff37c23020be6c08f9789a42e712714f57a2e1af",
"TT_bitcoin-test_authorize_coinjoin.py::test_get_public_key": "46c69b84e796678e690112fea4aca72dcffacb8a91a6e8afadeea05fb02a09aa",
"TT_bitcoin-test_authorize_coinjoin.py::test_multisession_authorization": "e0628b588c1efcf4f09afb0aeb6a49e257eff6fe2c9e0f34477f0a9f6a148bf2",
"TT_bitcoin-test_authorize_coinjoin.py::test_sign_tx": "bee1dfe37104babd08f14f39d0203f70532c356915c6ad65ab27e1f43eb2c745",
"TT_bitcoin-test_authorize_coinjoin.py::test_sign_tx": "cf79ee5ee33f6067831104a750370e35ff080950f41ab306475d0aa07a3d00a5",
"TT_bitcoin-test_authorize_coinjoin.py::test_sign_tx_large": "5f23cd4859f92a36ab1fb262bbf9221d9ecdbd85510060df678373cf4377c9e3",
"TT_bitcoin-test_authorize_coinjoin.py::test_sign_tx_spend": "20a381f5a0ae5ff6f29b7d08f4959d809799727817de1238ab16f9b48868bf50",
"TT_bitcoin-test_authorize_coinjoin.py::test_wrong_account_type": "c08baf72201dc833ecc085daded257366f3fb561be9ac164e0fac0d6f22f18ca",
@ -1540,26 +1540,26 @@
"TT_stellar-test_stellar.py::test_sign_tx[timebounds-0-1575234180]": "5a2e48e82752f1b2b9e45518151e035821c281a88994f389c6feb54665042e43",
"TT_stellar-test_stellar.py::test_sign_tx[timebounds-461535181-0]": "09c6860d1d2c8ad9de827da1e8006026bb37816122da461a8d31f8c400ba91de",
"TT_stellar-test_stellar.py::test_sign_tx[timebounds-461535181-1575234180]": "b2015b9e0f9ff60e2ea4fca2942e97b70a320386c2043fb36acde4a830272098",
"TT_test_autolock.py::test_apply_auto_lock_delay": "f57f41bb9d52cc411add20488a20412728a1fc85c4c384e3cd3bf6f506e9bff0",
"TT_test_autolock.py::test_apply_auto_lock_delay_out_of_range[0]": "d81ff1a197803cfda9180cad05dad5c1912a064da957d036c1311fa3eeef4b70",
"TT_test_autolock.py::test_apply_auto_lock_delay_out_of_range[1]": "d81ff1a197803cfda9180cad05dad5c1912a064da957d036c1311fa3eeef4b70",
"TT_test_autolock.py::test_apply_auto_lock_delay_out_of_range[4194304]": "d81ff1a197803cfda9180cad05dad5c1912a064da957d036c1311fa3eeef4b70",
"TT_test_autolock.py::test_apply_auto_lock_delay_out_of_range[536871]": "d81ff1a197803cfda9180cad05dad5c1912a064da957d036c1311fa3eeef4b70",
"TT_test_autolock.py::test_apply_auto_lock_delay_out_of_range[9]": "d81ff1a197803cfda9180cad05dad5c1912a064da957d036c1311fa3eeef4b70",
"TT_test_autolock.py::test_apply_auto_lock_delay_valid[10]": "ce212aac24d0e8d36105970a508746bd5f1e2c5b6f10a8dd295efae2763138bb",
"TT_test_autolock.py::test_apply_auto_lock_delay_valid[123]": "98bca02d13bf6b4f38c622843a2be0a810fc82fc98596868c733d2cced517a57",
"TT_test_autolock.py::test_apply_auto_lock_delay_valid[3601]": "b0c12892e03dfd7882fbe4c313239bfb4e9c7abcf9dcf3e8df372e66e16edd0b",
"TT_test_autolock.py::test_apply_auto_lock_delay_valid[536870]": "174684d3306e4d63621eaa8a1d747e29b784d067f7d0649cea108f9c77803b0c",
"TT_test_autolock.py::test_apply_auto_lock_delay_valid[60]": "bd5d9eddbff6d2c79b8d0245dbb6a95e42975610a4f70c521c2476202434b03d",
"TT_test_autolock.py::test_apply_auto_lock_delay_valid[7227]": "c5f8cbca5e10bd8de342aebf18962fd08d7b336f9a13550b2152c51d1b6681b2",
"TT_test_autolock.py::test_autolock_cancels_ui": "01da3fcc0b941681634d272b1d4edae43bf7497b62db37ff14f17d44baa85b46",
"TT_test_autolock.py::test_autolock_default_value": "ab69afd1cb6f89689e6266e15615dbe50c14465c19684731e1cdf5ab4c1dde85",
"TT_test_autolock.py::test_apply_auto_lock_delay": "c896fc40775f5a924a39009174a416ba783e31a7535ad3c1e77350c848a7abd0",
"TT_test_autolock.py::test_apply_auto_lock_delay_out_of_range[0]": "cddf757711744c39f72a90382d1a39fd4c72a1d91ea04b62b94ea96d6af10f58",
"TT_test_autolock.py::test_apply_auto_lock_delay_out_of_range[1]": "cddf757711744c39f72a90382d1a39fd4c72a1d91ea04b62b94ea96d6af10f58",
"TT_test_autolock.py::test_apply_auto_lock_delay_out_of_range[4194304]": "cddf757711744c39f72a90382d1a39fd4c72a1d91ea04b62b94ea96d6af10f58",
"TT_test_autolock.py::test_apply_auto_lock_delay_out_of_range[536871]": "cddf757711744c39f72a90382d1a39fd4c72a1d91ea04b62b94ea96d6af10f58",
"TT_test_autolock.py::test_apply_auto_lock_delay_out_of_range[9]": "cddf757711744c39f72a90382d1a39fd4c72a1d91ea04b62b94ea96d6af10f58",
"TT_test_autolock.py::test_apply_auto_lock_delay_valid[10]": "47af1bf90584225f6c98770d3b3b1cc54f7c18ffc7e66b2df672827c722fc840",
"TT_test_autolock.py::test_apply_auto_lock_delay_valid[123]": "0c8f108bf8530bb8364ec8ac371a2eb9edd366694ff904ef50f3372b6dccc858",
"TT_test_autolock.py::test_apply_auto_lock_delay_valid[3601]": "560ab14fac85f540b6bbd617e98fa45a6ae36ef9098d56d099873cc50dc95af5",
"TT_test_autolock.py::test_apply_auto_lock_delay_valid[536870]": "0ae6c2e1662a05df07548d515dd5ef93fe44913c9a0be323718d5788b36e2db6",
"TT_test_autolock.py::test_apply_auto_lock_delay_valid[60]": "23b017614eb32ead9e1c61f4b7c79bbbc43bb7d2a9f5f4639557124632f3c307",
"TT_test_autolock.py::test_apply_auto_lock_delay_valid[7227]": "b503ca4d5d94494f012c66c10ef9799a82514d964d78068e65eaf7e6d3414cc9",
"TT_test_autolock.py::test_autolock_cancels_ui": "02f665ae093e5298286f5b0aa26d947e6f5cd4de439cabb27987687acb9bedcf",
"TT_test_autolock.py::test_autolock_default_value": "a2aab719b4cb851e0760e5583f17f516449041bec76d37d18d8630e33282be1d",
"TT_test_basic.py::test_device_id_different": "365729fd052a9765fb68444b0ec0661037db712bf077d2e2126d6a4e892710bd",
"TT_test_basic.py::test_device_id_same": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
"TT_test_basic.py::test_features": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
"TT_test_basic.py::test_ping": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
"TT_test_busy_state.py::test_busy_expiry": "f35ed43a9d717d56f00e93676747ebbc37e28f93d0e62d15a7413dbe515847fe",
"TT_test_busy_state.py::test_busy_state": "13fedee535cf73b32c2987a9f147f3e4d5bf9177e6d6072e7685aaafbbc51281",
"TT_test_busy_state.py::test_busy_state": "382770fa0f6f3c2ff883e455691eaf6187ffc545cf815415ae4cc6dc19329846",
"TT_test_cancel.py::test_cancel_message_via_cancel[message0]": "b014449cbf1a45739d64a370b30af75df2228f48c090a02227bac8ed20c7b2dc",
"TT_test_cancel.py::test_cancel_message_via_cancel[message1]": "b014449cbf1a45739d64a370b30af75df2228f48c090a02227bac8ed20c7b2dc",
"TT_test_cancel.py::test_cancel_message_via_initialize[message0]": "b014449cbf1a45739d64a370b30af75df2228f48c090a02227bac8ed20c7b2dc",
@ -1568,35 +1568,35 @@
"TT_test_debuglink.py::test_softlock_instability": "9750df55cb4716f1d497d57de57257a0c5188fb652fcdb66a9d436d9c396c62b",
"TT_test_firmware_hash.py::test_firmware_hash_emu": "6156504fa1a43ed3e9aaae41c53dd6e5e979cc2558333b78846e0d9741e75c47",
"TT_test_firmware_hash.py::test_firmware_hash_hw": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
"TT_test_msg_applysettings.py::test_apply_homescreen_toif": "7e7fb6223f2113a592c848cd8e57aa22eb002e6472abb5045814f7fe958b2818",
"TT_test_msg_applysettings.py::test_apply_homescreen_toif_fail[TOIf\\x80\\x00\\x80\\x00~\\x00\\x00\\x0-ba464b0c": "d81ff1a197803cfda9180cad05dad5c1912a064da957d036c1311fa3eeef4b70",
"TT_test_msg_applysettings.py::test_apply_homescreen_toif_fail[TOIf\\x90\\x00\\x90\\x00~XXXf\\x90\\x0-cb3c88da": "d81ff1a197803cfda9180cad05dad5c1912a064da957d036c1311fa3eeef4b70",
"TT_test_msg_applysettings.py::test_apply_homescreen_toif_fail[TOIg\\x90\\x00\\x90\\x00~\\x00\\x00\\x0-09cb7d43": "d81ff1a197803cfda9180cad05dad5c1912a064da957d036c1311fa3eeef4b70",
"TT_test_msg_applysettings.py::test_apply_settings": "afb22161614007752ed75c8e5b2eb4cf2288a5bf70599fb16c1ec0bc08642644",
"TT_test_msg_applysettings.py::test_apply_settings_passphrase": "b7af5acc4678edc97c6cab669554b20ec63560d8bd36c40f9c292b40992b590c",
"TT_test_msg_applysettings.py::test_apply_homescreen_toif": "bcb8fadef44dcf302bb4aede6a41d1e137448f0a83ec35bbe2ada8174a5729ce",
"TT_test_msg_applysettings.py::test_apply_homescreen_toif_fail[TOIf\\x80\\x00\\x80\\x00~\\x00\\x00\\x0-ba464b0c": "cddf757711744c39f72a90382d1a39fd4c72a1d91ea04b62b94ea96d6af10f58",
"TT_test_msg_applysettings.py::test_apply_homescreen_toif_fail[TOIf\\x90\\x00\\x90\\x00~XXXf\\x90\\x0-cb3c88da": "cddf757711744c39f72a90382d1a39fd4c72a1d91ea04b62b94ea96d6af10f58",
"TT_test_msg_applysettings.py::test_apply_homescreen_toif_fail[TOIg\\x90\\x00\\x90\\x00~\\x00\\x00\\x0-09cb7d43": "cddf757711744c39f72a90382d1a39fd4c72a1d91ea04b62b94ea96d6af10f58",
"TT_test_msg_applysettings.py::test_apply_settings": "4b4d2a3ccf4cef954c7bb7212aa7bef9941e65eb1353b35a9befdd980f098692",
"TT_test_msg_applysettings.py::test_apply_settings_passphrase": "9ec2d7c035c5b40ff7fc856013cb61288e226cf099922ff34dd4671bb3057030",
"TT_test_msg_applysettings.py::test_apply_settings_passphrase_on_device": "ec6ae42f5d061e40d6c4512a743bc2ac1564455a50a838b6f42fd4c7225d8079",
"TT_test_msg_applysettings.py::test_apply_settings_rotation": "1f6da326281b5e4ddff444f96403683badae200f1d4b5cc6b044aeab99141d16",
"TT_test_msg_applysettings.py::test_experimental_features": "51c122523bec4c1b177f2b99ab02f53b6cf8223b100d85f5e7539c82480d5a5d",
"TT_test_msg_applysettings.py::test_apply_settings_rotation": "ea8a4014034ec651e386e12509ef792e16bed40dfa0624b6cc31ca7d6bfdc96e",
"TT_test_msg_applysettings.py::test_experimental_features": "0736505eb08ce878822435e6f33999b63036a543a1d81fb714e3f4f74b4b1db5",
"TT_test_msg_applysettings.py::test_label_too_long": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
"TT_test_msg_applysettings.py::test_safety_checks": "71ac970ca0d87f1ef70a8605dcc4db478a9190333307ff37ee90dd3d3e97e0fa",
"TT_test_msg_backup_device.py::test_backup_bip39": "9b572b12da20b516222ecb0a76fba6d6de5193647405b67625140ed3ed45049c",
"TT_test_msg_backup_device.py::test_backup_slip39_advanced[click_info]": "857cbfaea4dd471d9d2e41d583c72b19942ebc1648f9a47c8ead57b233cc6bf7",
"TT_test_msg_backup_device.py::test_backup_slip39_advanced[no_click_info]": "ff2ffe2c93d8784566e2ac9516f8fd41f4f7e45e1272aff6d3313bdca173e6e2",
"TT_test_msg_backup_device.py::test_backup_slip39_basic[click_info]": "8bc1b2586ee94a3db4ab88f6a5782b2a07fb427715eb2b6401e48961383e8dff",
"TT_test_msg_backup_device.py::test_backup_slip39_basic[no_click_info]": "fe7ef8726326e2702ee680418d8a32cf2e0d062accbc70acbe88abd86cbf9f6d",
"TT_test_msg_backup_device.py::test_backup_bip39": "70f7f4cc0e396fc364e338e068af58e99c20c1788dd4043026fdf60260c9680f",
"TT_test_msg_backup_device.py::test_backup_slip39_advanced[click_info]": "71e30e2fee70cb08944fe0f1c89ea060d2a9ad42f4d3386a24b81d07ebfad1aa",
"TT_test_msg_backup_device.py::test_backup_slip39_advanced[no_click_info]": "4fad3f84c206436dd2d9f2b077ffecffbe934a9a60f7f93aebe0374452c62672",
"TT_test_msg_backup_device.py::test_backup_slip39_basic[click_info]": "e66dbecb3e7da670d038cd93ff8470842da40b87276aadf98b2e777a39e09069",
"TT_test_msg_backup_device.py::test_backup_slip39_basic[no_click_info]": "b98dae73e4fcad05d39ec53a81b51283becd8d7125391f8a551dfde804ab2d4f",
"TT_test_msg_backup_device.py::test_interrupt_backup_fails": "75ab647310ba48b46e161de8204590807f04490e60a4f664749433016b9f5ff4",
"TT_test_msg_backup_device.py::test_no_backup_fails": "a489388c56078b4aa243d991b898b196a5c4b05573c526db06eeb11d41e98ec8",
"TT_test_msg_backup_device.py::test_no_backup_show_entropy_fails": "836598efda5b456ccbee7835e31892bfb5a8b9d9e42948982f444e10b9b8e55a",
"TT_test_msg_change_wipe_code_t2.py::test_set_pin_to_wipe_code": "fc83a78c24524bba5b7270b2d85e1ce788e4b200ac403b8f337cd32ef1008ed0",
"TT_test_msg_change_wipe_code_t2.py::test_set_remove_wipe_code": "82aae9ec41d7a6bc2c53d066fc9773c833c3280590e8e13a990da4e9ba2367e0",
"TT_test_msg_change_wipe_code_t2.py::test_set_wipe_code_mismatch": "a1a84ba5b6650fbada7de3e9b41d1273ef84bc2d0ea11377f08c05ad3d1c7169",
"TT_test_msg_change_wipe_code_t2.py::test_set_wipe_code_to_pin": "9f91401e960174f79129bf7ac2e950203b9f2dcb381e0c7146fa1460c1bae678",
"TT_test_msg_changepin_t2.py::test_change_failed": "b91f0af6e6148ff77b449e22e52523a462da819f5fca6b34b1bce8f50193f57d",
"TT_test_msg_changepin_t2.py::test_change_invalid_current": "a8f2c71ef0605fb1f4f941d0c9bcc8bacefb84e88017a230c5b1ac67e8bc56fb",
"TT_test_msg_changepin_t2.py::test_change_pin": "35b519f22ca2e65ad376efb5d570e68e610c64a6a137500d649a1fa6f05fdacf",
"TT_test_msg_changepin_t2.py::test_remove_pin": "f46ea1ceaf07d2a47da2e89ceb9553b618ceb20aea004cf51a8f7df0bc78a453",
"TT_test_msg_changepin_t2.py::test_set_failed": "36ae4d29086ee37c00aa038beee7112addc8da28c89110b069074e4b18a2de0d",
"TT_test_msg_changepin_t2.py::test_set_pin": "f5786e0636f1fc51055e6e89cd8f7a5973de53a00e9594b97358ade61565a2b6",
"TT_test_msg_change_wipe_code_t2.py::test_set_pin_to_wipe_code": "dd2164b699f138c24ae45ac8d5d2ca6c840bc56721bb266b1ce404275f5c7fce",
"TT_test_msg_change_wipe_code_t2.py::test_set_remove_wipe_code": "64421fca84d0972a754d8df6e6419727db221ce5140d958b40aca72c93d17ad9",
"TT_test_msg_change_wipe_code_t2.py::test_set_wipe_code_mismatch": "9a209e34273abf975a4b43a6fcaf9290154d29560b839b0e44f9522973baa403",
"TT_test_msg_change_wipe_code_t2.py::test_set_wipe_code_to_pin": "50ea73d2cf3dac03aff81bb64c56c99ba255f3a1c8e77c1abbcc5b3d72e41ba8",
"TT_test_msg_changepin_t2.py::test_change_failed": "f2605afed56adcd5fdc2caaed64f57e3bb4fc402846c00026f0bf864ddc28dae",
"TT_test_msg_changepin_t2.py::test_change_invalid_current": "a1e1824ef1ebf63321ce6c21d43496c74a90627c9fb77bcf2b395a8817fc576f",
"TT_test_msg_changepin_t2.py::test_change_pin": "d711c61709188e7d4ba6adbf849788dbd650f5438ce4005946f9c902490f81f5",
"TT_test_msg_changepin_t2.py::test_remove_pin": "84f0369ab13d7bb1133c9cd51fb17bdd69e76ea1888aa413eb4e808327b9b45f",
"TT_test_msg_changepin_t2.py::test_set_failed": "cdd9bcf1f4c1158c830fbcf68bf64d05d228392edf6861c70d63f99f273918f0",
"TT_test_msg_changepin_t2.py::test_set_pin": "20633a96447a01e391cccf2f9a022770c7d94eecad387af74f4b8ac5c2b3ea72",
"TT_test_msg_loaddevice.py::test_load_device_1": "ef73c09785df13124c3ebda99df038bbec0829f9474a923e152a647b39d5e47b",
"TT_test_msg_loaddevice.py::test_load_device_2": "6a6717bbf58b0c2922dbbfc5e463c3ddc0db74a321d2fc2925da63bc20cba824",
"TT_test_msg_loaddevice.py::test_load_device_slip39_advanced": "ef73c09785df13124c3ebda99df038bbec0829f9474a923e152a647b39d5e47b",
@ -1606,36 +1606,36 @@
"TT_test_msg_sd_protect.py::test_enable_disable": "aa09194fbab845cc64e1187bf2e634858a4c848ebfe2890b30ac9073f980cb96",
"TT_test_msg_sd_protect.py::test_refresh": "19d6d1a7bfa9a6dcf7da2c320d01ba03152d08faa08a11ea2b3dc28ad57b1b91",
"TT_test_msg_sd_protect.py::test_wipe": "9e4b9968e7967e93f19d669acadd53c128a857b72afd7e354a1a350274b8aeba",
"TT_test_msg_wipedevice.py::test_autolock_not_retained": "c18d2809f505e79bf61aef073a33897b251a3dadab7db9c890f5baaaa4412f4c",
"TT_test_msg_wipedevice.py::test_autolock_not_retained": "a7399c952f2908160f001a1d7495f7a59183444b8295d85058c386e5c5b720ec",
"TT_test_msg_wipedevice.py::test_wipe_device": "365729fd052a9765fb68444b0ec0661037db712bf077d2e2126d6a4e892710bd",
"TT_test_passphrase_slip39_advanced.py::test_128bit_passphrase": "0d854e06e58ec8e27f04d8604002f1dcb8fee790bdac07cbabb94e3ed357abe3",
"TT_test_passphrase_slip39_advanced.py::test_256bit_passphrase": "0d854e06e58ec8e27f04d8604002f1dcb8fee790bdac07cbabb94e3ed357abe3",
"TT_test_passphrase_slip39_basic.py::test_2of5_passphrase": "54fe7196c39e3f70734be72fc45a121670e891852354057b4d8ab094ced4b493",
"TT_test_passphrase_slip39_basic.py::test_3of6_passphrase": "54fe7196c39e3f70734be72fc45a121670e891852354057b4d8ab094ced4b493",
"TT_test_pin.py::test_correct_pin": "d81ff1a197803cfda9180cad05dad5c1912a064da957d036c1311fa3eeef4b70",
"TT_test_pin.py::test_exponential_backoff_t2": "d4e7ed263d72c37c6f6d05c2e4aa4d8245267594511df704efe8a32f3c5c30ca",
"TT_test_pin.py::test_incorrect_pin_t2": "3d549b537340e13140cd77f362f323ca116a79e58fb0784d69aadad7b5c13063",
"TT_test_pin.py::test_correct_pin": "cddf757711744c39f72a90382d1a39fd4c72a1d91ea04b62b94ea96d6af10f58",
"TT_test_pin.py::test_exponential_backoff_t2": "ecf58dc09e278d7ebc1c68e853ab624a0f63e173c47ce0cce32b4bcf1cbde1f5",
"TT_test_pin.py::test_incorrect_pin_t2": "616b679baac2c5574d6948cab8f2440c741895b74e902fa118348f8e4213e78a",
"TT_test_pin.py::test_no_protection": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
"TT_test_protection_levels.py::test_apply_settings": "2451a804df4a867fef29adf4b71445352a3bface95a797f65bb87cf58c1ef34f",
"TT_test_protection_levels.py::test_change_pin_t2": "d414bdebe6ea6b0f754aec1cdde61133b87fd27cf791ab1bdfdb61866a400d6c",
"TT_test_protection_levels.py::test_get_address": "f0ac110de788b3112e04dc2ef131fca011a8dea1c309df37adeb23066729e273",
"TT_test_protection_levels.py::test_get_entropy": "539ac09590d3252f0ccb2eb836c703a16be5a219c8bd46add57be8319a336ae9",
"TT_test_protection_levels.py::test_get_public_key": "f0ac110de788b3112e04dc2ef131fca011a8dea1c309df37adeb23066729e273",
"TT_test_protection_levels.py::test_initialize": "59e518cba8589979f0af46e2acb211d37c96312f1d1a63a899d138ebb2f3ca29",
"TT_test_protection_levels.py::test_apply_settings": "d7398efe983dbcaaad520469d4a4e13af6cc929f84ad15f45f52d36360d60cdd",
"TT_test_protection_levels.py::test_change_pin_t2": "c0c3dda209c7683ccb5bea1897747ce23a4b0786229619da87a12e1c36bb00d8",
"TT_test_protection_levels.py::test_get_address": "fa99630fdfe630a6c60fe09e29c62750d6b981b573e29bbbc1d170383fa6d39e",
"TT_test_protection_levels.py::test_get_entropy": "b05d2191ef1621bb547a3188bf7b45aa5c3e55a07e25beec7e4763462d423d76",
"TT_test_protection_levels.py::test_get_public_key": "fa99630fdfe630a6c60fe09e29c62750d6b981b573e29bbbc1d170383fa6d39e",
"TT_test_protection_levels.py::test_initialize": "bf1f827d995235bf40470ac79926c72f57aa2eeb9942eebb1812b73ac5898ead",
"TT_test_protection_levels.py::test_passphrase_cached": "7fe34cc300a6f3547eaf72ab4339b758469f1e2722244d2a14d06e55ab1a3716",
"TT_test_protection_levels.py::test_passphrase_reporting[False]": "233f8978b159ec8fb4092599d63f001c8059222ca14a9e84d185560d3c32ce24",
"TT_test_protection_levels.py::test_passphrase_reporting[True]": "d9e9bdb39d15d6737ed6234f16c36bb7ad95ca54067ff8f10cffccaa3caa96cb",
"TT_test_protection_levels.py::test_passphrase_reporting[False]": "1931c0333a99769c0e919daaf17619689892012838440c58fba81880acab7216",
"TT_test_protection_levels.py::test_passphrase_reporting[True]": "63f9b46676f70b7e056da24366c3e4d732d6134b15399aeb86b230a25bc1f164",
"TT_test_protection_levels.py::test_ping": "5551c263e8e09c8ae683f4dec3dd9d7ecc05ebbd3f2556604b27479c8f1fbc82",
"TT_test_protection_levels.py::test_sign_message": "045d2faee841a79441683a6fdc912c3c69ecc0289b6c9801580942d47af7f0de",
"TT_test_protection_levels.py::test_signtx": "4e25293cf3860a06e2e858272450fc747f1a11c8c2426c0028c38b7ce97b5856",
"TT_test_protection_levels.py::test_unlocked": "f2be4c8c13c6a201770966438ffa9bcfe0eb031683920f93a55fa92921a28b51",
"TT_test_protection_levels.py::test_verify_message_t2": "0cf43552a15684fbf506cd56871ca07795f62ec5f57176705aa968c9f97ef3d8",
"TT_test_protection_levels.py::test_wipe_device": "a30d958dda50b06e8bfc1c861c0ff2c0eb4acd0656bdf1dcd6474660882e3cd5",
"TT_test_protection_levels.py::test_sign_message": "b09b8029fc04fb636827e1c9139df448dec94b94597d6e09e479441ddc1054c5",
"TT_test_protection_levels.py::test_signtx": "a4055e1866d9db4cd670e7fa7d3a015961741e93f49f380992fb4b1ffa6eb85a",
"TT_test_protection_levels.py::test_unlocked": "793984b5e63e79f9b1c72ada278af6cf6b1b78b0bf20eb71a42874268a7b5be8",
"TT_test_protection_levels.py::test_verify_message_t2": "2b32327ef901411f9c8d870aba06d0a7ae3672362203431b47b04daac95410e9",
"TT_test_protection_levels.py::test_wipe_device": "701e1a3dff40ac54e9b107e97044c40be82edc8c763acfb306919cd02830f7bf",
"TT_test_sdcard.py::test_sd_format": "b6da09fabbf0f9f05e2b575650789b2ecae25bdcc0304e14c1e59fa1b4b24d05",
"TT_test_sdcard.py::test_sd_no_format": "28237b70aadc1ce6f3ddfd3c0f9b6b256898cad068b0de333b404989aa0dcc62",
"TT_test_sdcard.py::test_sd_protect_unlock": "bc654959615d17f6d8d6dda4625b4ecf7798a7d8c05ff438fc1546d0f8547432",
"TT_test_sdcard.py::test_sd_protect_unlock": "ac627aca419c8f49d22def6a84b3bec2f3500706f9fe48c912b88776e91ebf77",
"TT_test_session.py::test_cannot_resume_ended_session": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
"TT_test_session.py::test_clear_session": "a749e7ff817a859da0670e7810d683909b9c4db415594098981183adb9c6be2e",
"TT_test_session.py::test_clear_session": "cd5de2b6329af49c57123468c5b0dc6a97e65b3628ee8ae855f0e1d4a080dc90",
"TT_test_session.py::test_derive_cardano_empty_session": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
"TT_test_session.py::test_derive_cardano_running_session": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",
"TT_test_session.py::test_end_session": "c09de07fbbf1e047442180e2facb5482d06a1a428891b875b7dd93c9e4704ae1",